本文介绍如何使用OpenAPI调用DescribeZones查询当前用户的Zone列表。
步骤一:查看OpenAPI文档
在调用OpenAPI前,建议您阅读对应接口文档,了解、学习调用该接口所需要的参数及权限等。更多详情请参见API概览。
步骤二:创建RAM用户并完成授权
阿里云账号拥有所有API的访问权限,建议您创建并使用RAM用户进行API访问或日常运维。
您可以使用阿里云账号(主账号)、RAM用户、RAM角色调用该接口,有关各种身份的差异请参见身份。
本案例中,我们使用RAM用户进行接口调用。
登录RAM访问控制。
在左侧导航栏,选择身份管理 > 用户。
在用户页面,单击创建用户。
在创建用户页面,设置登录名称和显示名称、访问方式为控制台访问。
单击确定。
创建RAM用户成功后,请记录用户登录名称和密码。您在调用OpenAPI时需要使用该RAM用户登录阿里云OpenAPI开发者门户。
为RAM用户授权。
重要AliyunPvtzReadOnlyAccess:只读访问内网DNS解析(PrivateZone)服务的权限。
AliyunPvtzFullAccess:管理内网DNS解析(PrivateZone)服务的权限。
如果您需要新建自定义权限,请参见自定义权限策略参考。
访问RAM用户列表。
单击目标RAM用户操作列的添加权限。
在文本框中输入关键字
Pvtz
进行搜索,选择AliyunPvtzFullAccess策略。单击确认新增授权,完成授权操作。
单击目标RAM用户名称,进入到对应的RAM用户详情页,在认证管理页签,点击创建 AccessKey。
更多操作详情,请参见创建AccessKey。
(可选)步骤三:在线调试OpenAPI
使用RAM用户登录阿里云OpenAPI门户。
选择云产品为云解析 PrivateZone。
在顶部菜单栏,选择工具中心>在线调试。
在左侧导航栏,找到并单击DescribeZones接口,然后在服务地址选择华东1(杭州)。
单击发起调用。
在调用结果区域,您可以看到查询结果、Request Header、Response Header等信息,状态码200表示调用成功。
步骤四:获取SDK示例代码
OpenAPI平台提供了多种编程语言(Java、Go、Python、Node.js、TypeScript、PHP、C++ 等)的SDK。开发者只需要集成SDK,通过SDK暴露的方法直接调用OpenAPI 。SDK统一封装了签名逻辑、超时机制、重试机制,并根据文档返回结构化 Response 对象,易于开发。
以获取Java SDK示例代码为例,其他语言获取方式相同。
在SDK示例页签,选择SDK版本和SDK语言。推荐使用V2.0版本。关于V2.0和V1.0的区别,请参见V1.0 SDK和V2.0 SDK区别。
单击下载完整工程可以下载完整的SDK工程。下载完后完成解压。
说明在SDK示例显示区域的右上角,单击图标可以复制SDK示例代码。
单击SDK信息,可以获取SDK包名称、SDK包版本、SDK包管理平台、SDK安装命令等基础信息,便于您集成开发。
步骤五:运行SDK示例代码
以运行Java SDK示例代码为例。
打开IntelliJ IDEA,单击File->Open,选择解压后的工程文件夹,等待Maven自动安装依赖信息。
在调用之前,需要先获取访问凭证AccessKey,建议使用前面创建的RAM用户AccessKey。更多信息,请参见创建RAM用户的AccessKey。
重要获取RAM用户的AccessKey之后,还需要在环境变量中设置AccessKey,具体操作步骤请参见在Linux、macOS和Windows系统配置环境变量。
运行示例代码。
双击打开Sample,确认无报错后,运行代码。
查看运行结果。在底部控制台按下
ctrl+f
,搜索statusCode
,如果看到"statusCode":200
表示调用成功。
报错处理
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用户增加该操作的权限,然后进行操作。