阿里云SDK是调用OpenAPI的常见方式。使用OpenAPI自动化集成混合云容灾服务 HDR(Hybrid Disaster Recovery),可以提升您使用HDR的开发效率。本文介绍如何使用OpenAPI调用HDR的查询站点对信息。
步骤一:查看OpenAPI文档
阅读查询站点对信息的 OpenAPI:查询站点对信息。根据接口文档,我们了解调用该接口需要的参数及权限。
步骤二:创建RAM用户并完成授权
-
创建RAM用户。
您可以使用阿里云账号(主账号)、RAM用户、RAM角色调用该接口。有关各种身份的差异信息,请参见身份、凭证、授权。本文中,我们使用RAM用户进行接口调用。更多信息,请参见创建RAM用户。
-
为RAM用户授权。
在调用阿里云API时您需要使用AccessKey完成身份验证。AccessKey包括AccessKey ID和AccessKey Secret。关于如何创建和获取AccessKey,请参见创建AccessKey。
(可选)步骤三:在线调试OpenAPI
-
使用RAM用户登录阿里云OpenAPI门户。
-
在左侧导航栏,找到并单击查询站点对信息接口,服务地址选择华东2(上海),SitePairType参数输入cloud2cloud,表示查询站点对信息。
参数配置区域中,
服务地址已选择华东2(上海),SitePairType已填入cloud2cloud。 -
单击发起调用。
在调用结果区域,您可以看到查询结果、Request Header、Response Header等信息,状态码200表示调用成功。
步骤四:获取SDK示例代码
OpenAPI平台提供了多种编程语言(Java、Go、Python、Node.js、TypeScript、PHP、C++ 等)的SDK。开发者只需要集成SDK,通过SDK暴露的方法直接调用OpenAPI 。SDK统一封装了签名逻辑、超时机制、重试机制,并根据文档返回结构化 Response 对象,易于开发。
以获取Python SDK示例代码为例,其他语言获取方式相同。
-
访问该接口在OpenAPI 门户的调试地址。
-
在SDK示例页签,选择SDK版本和SDK语言。推荐使用V2.0版本。关于V2.0和V1.0的区别,请参见V1.0 SDK和V2.0 SDK区别。
-
在中间参数配置栏填入SitePairType,该字段表示站点对类型。
-
语言切换到Python,单击下载完整工程按钮,下载示例代码包。下载完成,进行解压。
说明在SDK示例显示区域的右上角,单击
图标可以复制SDK示例代码。
步骤五:运行SDK示例代码
以运行 Python示例代码为例。
-
准备 Python 环境。下载并安装Python 3。
查看Python版本方法:打开终端,输入
python --version。 -
配置环境变量。
获取RAM用户的AccessKey之后,还需要在环境变量中设置AccessKey,具体操作步骤请参见在Linux、macOS和Windows系统配置环境变量。
-
安装依赖。
pip install alibabacloud_credentials pip install alibabacloud_dypnsapi20170525 pip install alibabacloud_tea_console -
打开PyCharm,单击File->Open,选择解压后的alibabacloud_sample文件夹,等待自动安装依赖信息。
-
运行示例代码。双击打开sample.py,确认无报错后,运行代码。
# ... (省略前文) ) -> None: client = Sample.create_client() describe_site_pairs_request = hdr_20170925_models.DescribeSitePairsRequest( site_pair_type='cloud2cloud' ) runtime = util_models.RuntimeOptions() try: # 复制代码运行请自行打印 API 的返回值 await client.describe_site_pairs_with_options_async(describe_site_pairs_request, runtime) except Exception as error: # 此处仅做打印展示,请谨慎对待异常处理,在工程项目中切勿直接忽略异常。 # 错误 message print(error.message) # 诊断地址 print(error.data.get("Recommend")) UtilClient.assert_as_string(error.message) if __name__ == '__main__': Sample.main(sys.argv[1:]) -
查看运行结果。在底部控制台按下
ctrl+f,搜索statusCode,如果看到"statusCode":200表示调用成功。