阿里云SDK调用示例

更新时间:
复制 MD 格式

阿里云SDK是调用OpenAPI的常见方式。使用OpenAPI自动化集成混合云容灾服务 HDR(Hybrid Disaster Recovery),可以提升您使用HDR的开发效率。本文介绍如何使用OpenAPI调用HDR的查询站点对信息。

步骤一:查看OpenAPI文档

阅读查询站点对信息的 OpenAPI:查询站点对信息。根据接口文档,我们了解调用该接口需要的参数及权限。

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

  1. 创建RAM用户。

    您可以使用阿里云账号(主账号)、RAM用户、RAM角色调用该接口。有关各种身份的差异信息,请参见身份、凭证、授权。本文中,我们使用RAM用户进行接口调用。更多信息,请参见创建RAM用户。

  2. 为RAM用户授权。

    1. 访问RAM用户列表,单击目标RAM用户操作列的添加权限。

    2. 在文本框中输入关键字hdr进行搜索策略类型,选择AliyunHdrFullAccess系统策略。如果您想新建自定义权限,请参见授权信息。

      AliyunHdrFullAccess:管理混合云容灾(HDR)的权限。

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

在调用阿里云API时您需要使用AccessKey完成身份验证。AccessKey包括AccessKey ID和AccessKey Secret。关于如何创建和获取AccessKey,请参见创建AccessKey。

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

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

  2. 在左侧导航栏,找到并单击查询站点对信息接口,服务地址选择华东2(上海),SitePairType参数输入cloud2cloud,表示查询站点对信息。

    参数配置区域中,服务地址 已选择华东2(上海),SitePairType 已填入 cloud2cloud。

  3. 单击发起调用。

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

步骤四:获取SDK示例代码

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

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

  1. 访问该接口在OpenAPI 门户的调试地址。

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

  3. 在中间参数配置栏填入SitePairType,该字段表示站点对类型。

  4. 语言切换到Python,单击下载完整工程按钮,下载示例代码包。下载完成,进行解压。

    说明

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

步骤五:运行SDK示例代码

以运行 Python示例代码为例。

  1. 准备 Python 环境。下载并安装Python 3。

    查看Python版本方法:打开终端,输入python --version。

  2. 配置环境变量。

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

  3. 安装依赖。

    pip install alibabacloud_credentials
    pip install alibabacloud_dypnsapi20170525
    pip install alibabacloud_tea_console
  4. 打开PyCharm,单击File->Open,选择解压后的alibabacloud_sample文件夹,等待自动安装依赖信息。

  5. 运行示例代码。双击打开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:])
  6. 查看运行结果。在底部控制台按下ctrl+f,搜索statusCode,如果看到"statusCode":200表示调用成功。