Java SDK调用示例

本文介绍如何使用OpenAPI调用DescribeZones查询当前用户的Zone列表。

步骤一:查看OpenAPI文档

在调用OpenAPI前,建议您阅读对应接口文档,了解、学习调用该接口所需要的参数及权限等。更多详情请参见API概览

步骤二:创建RAM用户并完成授权

说明

阿里云账号拥有所有API的访问权限,建议您创建并使用RAM用户进行API访问或日常运维。

您可以使用阿里云账号(主账号)、RAM用户、RAM角色调用该接口,有关各种身份的差异请参见身份

本案例中,我们使用RAM用户进行接口调用。

  1. 创建RAM用户

    1. 登录RAM访问控制

    2. 在左侧导航栏,选择身份管理 > 用户

    3. 用户页面,单击创建用户

    4. 创建用户页面,设置登录名称显示名称访问方式控制台访问

    5. 单击确定

      创建RAM用户成功后,请记录用户登录名称和密码。您在调用OpenAPI时需要使用该RAM用户登录阿里云OpenAPI开发者门户。

  2. RAM用户授权。

    重要

    AliyunPvtzReadOnlyAccess只读访问内网DNS解析(PrivateZone)服务的权限。

    AliyunPvtzFullAccess管理内网DNS解析(PrivateZone)服务的权限。

    如果您需要新建自定义权限,请参见自定义权限策略参考

    1. 访问RAM用户列表

    2. 单击目标RAM用户操作列的添加权限

    3. 在文本框中输入关键字Pvtz进行搜索,选择AliyunPvtzFullAccess策略。

    4. 单击确认新增授权,完成授权操作。

  3. 单击目标RAM用户名称,进入到对应的RAM用户详情页,在认证管理页签,点击创建 AccessKey

    更多操作详情,请参见创建AccessKey

(可选)步骤三:在线调试OpenAPI

  1. 使用RAM用户登录阿里云OpenAPI门户

  2. 选择云产品为云解析 PrivateZone

  3. 在顶部菜单栏,选择工具中心>在线调试

  4. 在左侧导航栏,找到并单击DescribeZones接口,然后在服务地址选择华东1(杭州)image

  5. 单击发起调用

    调用结果区域,您可以看到查询结果、Request Header、Response Header等信息,状态码200表示调用成功。image

步骤四:获取SDK示例代码

OpenAPI平台提供了多种编程语言(Java、Go、Python、Node.js、TypeScript、PHP、C++ 等)的SDK。开发者只需要集成SDK,通过SDK暴露的方法直接调用OpenAPI 。SDK统一封装了签名逻辑、超时机制、重试机制,并根据文档返回结构化 Response 对象,易于开发。

以获取Java SDK示例代码为例,其他语言获取方式相同。

  1. SDK示例页签,选择SDK版本和SDK语言。推荐使用V2.0版本。关于V2.0V1.0的区别,请参见V1.0 SDKV2.0 SDK区别

  2. 单击下载完整工程可以下载完整的SDK工程。下载完后完成解压。

    说明
    • SDK示例显示区域的右上角,单击image图标可以复制SDK示例代码。

    • 单击SDK信息,可以获取SDK包名称、SDK包版本、SDK包管理平台、SDK安装命令等基础信息,便于您集成开发。

    image

步骤五:运行SDK示例代码

以运行Java SDK示例代码为例。

  1. 打开IntelliJ IDEA,单击File->Open,选择解压后的工程文件夹,等待Maven自动安装依赖信息

  2. 在调用之前,需要先获取访问凭证AccessKey,建议使用前面创建的RAM用户AccessKey。更多信息,请参见创建RAM用户的AccessKey

    重要

    获取RAM用户的AccessKey之后,还需要在环境变量中设置AccessKey,具体操作步骤请参见Linux、macOSWindows系统配置环境变量

  3. 运行示例代码。

    双击打开Sample,确认无报错后,运行代码。

    image

  4. 查看运行结果。在底部控制台按下ctrl+f,搜索statusCode,如果看到"statusCode":200表示调用成功。image

报错处理

  • code: 404, Specified access key is not found.

    您在环境变量中配置的AccessKey没有生效,建议重启IDE或者系统后重试。

  • code: 403, User is not authorized to do this operation.

    您使用的RAM用户没有足够的权限,无法执行该操作。例如,您授予RAM用户AliyunPvtzReadOnlyAccess权限,使用该RAM用户只能查询接口,调用AddZone等接口时,服务端会返回code: 403, User is not authorized to do this operation.

    您需要使用阿里云账号登录RAM访问控制RAM访问控制台,为RAM用户增加该操作的权限,然后进行操作。