Python调用SDK示例-DMS

本文介绍如何使用阿里云Python语言SDK开发包,调用数据管理DMS的ListInstances接口(获取实例信息列表)。

步骤一:查看OpenAPI文档

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

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

若您已创建RAM用户并完成授权,可跳过此步骤。

  1. 创建RAM用户:

    1. 访问RAM用户列表,单击创建用户

    2. 设置登录名称dms-openapi-operator,选择访问方式OpenAPI 调用访问

    3. 单击确定,创建RAM用户并保存AccessKey ID与AccessKey Secret信息。

  2. 完成授权:

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

    2. 在文本框中搜索Aliyundms,选择AliyunDMSFullAccess策略。

      说明

      AliyunDMSFullAccess:拥有管理DMS的权限。

      AliyunDMSReadOnlyAccess只读访问DMS的权限。

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

步骤三:调用OpenAPI

本文介绍阿里云Python语言SDK方式调用OpenAPI,其他语言SDK的用法也类似,更多信息请参见数据管理DMS SDK

准备Python环境

下载并安装Python 3。如您已安装Python,查看Python版本的命令示例:python --version

配置环境变量

配置环境变量ALIBABA_CLOUD_ACCESS_KEY_IDALIBABA_CLOUD_ACCESS_KEY_SECRET

  • Linux和macOS系统:将以下命令中的<access_key_id><access_key_secret>替换为您自己的AccessKey ID和AccessKey Secret,然后在终端设备中逐条运行。

    export ALIBABA_CLOUD_ACCESS_KEY_ID=<access_key_id>
    export ALIBABA_CLOUD_ACCESS_KEY_SECRET=<access_key_secret>
  • Windows系统:新建环境变量文件,添加环境变量ALIBABA_CLOUD_ACCESS_KEY_IDALIBABA_CLOUD_ACCESS_KEY_SECRET,并写入已准备好的AccessKey ID和AccessKey Secret。然后重启Windows系统。

安装依赖

在终端设备中,逐条运行如下命令,安装环境依赖。

pip install alibabacloud_credentials
pip install alibabacloud_dms_enterprise20181101
pip install alibabacloud_tea_console

下载示例代码

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

  2. 在左侧的参数配置页签,填写需要的参数信息,本示例无需输入任何信息。

  3. 在右侧的SDK示例页签,选择Python语言,单击下载完整工程按钮,下载示例代码包。

  4. 本地解压并进入alibabacloud_sample目录。

运行代码

在终端设备执行以下命令。

python sample.py

返回示例如下。

[
    LOG
] {
    "headers": {
        "date":"Wed, 19 Jul 2023 03:11:46 GMT",
        "content-type":"application/json;charset=utf-8",
        "transfer-encoding":"chunked",
        "connection":"keep-alive",
        "keep-alive":"timeout=25",
        "vary":"Accept-Encoding",
        "access-control-allow-origin":"*",
        "access-control-expose-headers":"*",
        "x-acs-request-id":"D960D80C-01CD-5FA4-AB12-7FA90BE0D35D",
        "x-acs-trace-id":"8b51178c7317cbb3e0ba9b1223eba55a"
  },
  "statusCode":200,
  "body": {
      "InstanceList": {
              "Instance": [
                      { 
                         "DataLinkName":"dbl_mysql_7",
                         "DatabasePassword":"******",
                         "DatabaseUser":"root",
                         "DbaId":54****,
                         "DbaNickName":"db_doc",
                         "DdlOnline":0,
                         "EcsRegion":"cn-hangzhou",
                         "EnvType":"product",
                         "ExportTimeout":86400,
                         "Host":"172.20.XXX.XXX",
                         "InstanceAlias":"zjq-test",
                         "InstanceId":220****,
                         "InstanceSource":"ECS_OWN",
                         "InstanceType":"mysql",
                         "OwnerIdList":{
                             "OwnerIds":[54****]
                               },
                         "OwnerNameList":{
                             "OwnerNames":["db_doc"]
                               },
                         "Port":3306,
                         "QueryTimeout":7200,
                         "SafeRuleId":829***,
                         "SellSitd":false,
                         "StandardGroup":{
                               "GroupMode":"NONE_CONTROL",
                               "GroupName":"自由操作"
                                },
                         "State":"NORMAL",
                         "UseDsql":"1"
                     },
                     {
                         "DataLinkName":"dbl_sls_1",
                         "DatabasePassword":"******",
                         "DatabaseUser":"LTA****",
                         "DbaId":54****,
                         "DbaNickName":"db_doc",
                         "DdlOnline":0,
                         "EcsRegion":"cn-hangzhou",
                         "EnvType":"product",
                         "ExportTimeout":86400,
                         "Host":"cn-hangzhou.log.aliyuncs.com",
                         "InstanceAlias":"DMSTEST",
                         "InstanceId":22****,
                         "InstanceSource":"FILE",
                         "InstanceType":"sls",
                         "OwnerIdList":{
                               "OwnerIds":[54****]
                                },
                          "OwnerNameList":{
                               "OwnerNames":["db_doc"]
                                },
                          "Port":0,
                          "QueryTimeout":7200,
                          "SafeRuleId":82****,
                          "SellSitd":false,
                          "Sid":"dmstest",
                          "StandardGroup":{
                               "GroupMode":"NONE_CONTROL",
                               "GroupName":"自由操作"
                                },
                           "State":"NORMAL",
                           "UseDsql":"1"
                     }

      }
    ]
  },
      "RequestId":"D960D80C-01CD-5FA4-AB12-7FA90BE0D35D",
      "Success":true,
      "TotalCount":2
   }
 }