使用OpenAPI自动化集成云备份,可以提升您使用云备份的开发效率。本文介绍如何使用OpenAPI调用云备份DescribeBackupPlans接口查询ECS文件备份计划。
步骤一:查看OpenAPI文档
在调用OpenAPI前,建议您先阅读对应接口文档,了解、学习调用该接口所需要的参数及权限等。更多信息,请参见API概览。
步骤二:创建RAM用户并完成授权
阿里云账号拥有所有API的访问权限,建议您创建并使用RAM用户进行API访问或日常运维。
本步骤主要用于创建一个具有只读云备份资源权限的RAM用户。
如果您已创建RAM用户且已完成授权,可跳过此步骤。
使用阿里云账号登录RAM控制台。
创建RAM用户。
在左侧导航栏,选择
。在用户页面,单击创建用户。
在创建用户页面,设置登录名称和显示名称均为config-openapi-operator-hbr,设置访问方式为控制台访问和OpenAPI调用访问 ,单击确定。
重要RAM用户的AccessKey Secret只在创建时显示,不支持查看,请下载CSV文件后妥善保管。
创建RAM用户成功后,请记录用户登录名称和密码,您在调用OpenAPI时,需要使用该RAM用户登录阿里云OpenAPI开发者门户,并使用该RAM用户的AccessKey进行代码调试。
为RAM用户授权。
说明创建RAM用户后,该RAM用户无任何操作云备份的权限。您需要为该RAM用户授予系统策略(AliyunHBRFullAccess、AliyunHBRReadOnlyAccess)或自定义策略。本案例以授予RAM用户AliyunHBRReadOnlyAccess策略为例,AliyunHBRReadOnlyAccess策略具备云备份资源的只读权限。
在用户页面,单击目标RAM用户(config-openapi-operator-hbr)对应的添加权限。
在新增授权面板,在系统策略中搜索选中AliyunHBRReadOnlyAccess,然后单击确认新增授权。
确认授权结果,单击关闭。
(可选)步骤三:在线调试OpenAPI
使用RAM用户登录阿里云OpenAPI门户。
选择云产品为云备份服务。
在顶部菜单栏,选择工具中心>在线调试。
在左侧导航栏,找到并单击DescribeBackupPlans接口,服务地址选择华东1(杭州),SourceType参数输入ECS_FILE,表示查询ECS类型的备份计划。
单击发起调用。
在调用结果区域,您可以看到查询结果、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用户AliyunHBRReadOnlyAccess权限,使用该RAM用户只能查询接口,调用CreateVault等接口时,服务端会返回code: 403, User is not authorized to do this operation.。
您需要使用阿里云账号登录RAM控制台,在RAM访问控制台,为RAM用户增加该操作的权限,然后进行操作。更多授权操作,请参见使用RAM进行访问控制。