本文介绍如何使用阿里云Python语言SDK开发包,调用数据传输服务DTS(Data Transmission Service)的WhiteIpList接口(查询DTS服务的IP地址)。
查看OpenAPI文档
在调用OpenAPI前,建议您先阅读对应接口文档,了解、学习调用该接口所需要的参数及权限等,更多信息请参见API概览。
创建RAM用户并完成授权
若您已创建RAM用户并完成授权,可跳过此步骤。
创建RAM用户:
访问RAM用户列表,单击创建用户。
设置登录名称为dts-openapi-operator,选择访问方式为OpenAPI 调用访问。
单击确定,创建RAM用户并保存AccessKey ID与AccessKey Secret信息。
完成授权:
访问RAM用户列表,单击目标RAM用户操作列的添加权限。
在权限策略下方的文本框中搜索
Aliyundts
,选择AliyunDTSFullAccess策略。说明AliyunDTSFullAccess策略拥有DTS所有读写权限,授权了该策略的子账号可以进行DTS实例的购买、配置、管理等操作。AliyunDTSReadOnlyAccess策略拥有DTS所有读权限,授权了该权限的子账号可以查看主账号下所有DTS任务的任务详情、任务配置等信息,不能进行变更操作。
您也可以按需进行自定义策略,更多信息请参见数据传输自定义权限策略参考。
单击确认新增授权,完成授权操作。
调用OpenAPI
本文介绍阿里云Python语言SDK方式调用OpenAPI,其他语言SDK的用法也类似。更多信息,请参见数据传输服务DTS SDK。
准备Python环境
下载并安装Python 3。如您已安装Python,查看Python版本的命令示例:python --version
。
配置环境变量
配置环境变量ALIBABA_CLOUD_ACCESS_KEY_ID
和ALIBABA_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_ID
和ALIBABA_CLOUD_ACCESS_KEY_SECRET
,并写入已准备好的AccessKey ID和AccessKey Secret。然后重启Windows系统。
安装依赖
在终端设备中,逐条运行如下命令,安装环境依赖。
pip install alibabacloud_credentials
pip install alibabacloud_dts20200101
pip install alibabacloud_tea_console
下载示例代码
访问WhiteIpList,进入该接口在OpenAPI门户的调试地址。
在左侧的参数配置页签,填写需要的参数信息。
本示例需在Type中输入vpc,在Region参数中输入cn-hangzhou。
在右侧的SDK示例页签,选择Python语言,单击下载完整工程按钮,下载示例代码包。
本地解压并进入alibabacloud_sample目录。
运行代码
在终端设备执行以下命令。
python sample.py
返回示例如下。
{
"headers": {
"date": "Wed, 26 Jul 2023 01:38:10 GMT",
"content-type": "application/json;charset=utf-8",
"content-length": "2349",
"connection": "keep-alive",
"keep-alive": "timeout=25",
"vary": "Accept-Encoding",
"access-control-allow-origin": "*",
"access-control-expose-headers": "*",
"x-acs-request-id": "F67A05B4-639B-5A3E-800F-2015E31D****",
"x-acs-trace-id": "cd5216b8e3d13a155510760d6b7f****",
"etag": "2iMUqZd0YJhWwB0iy0qP****"
},
"statusCode": 200,
"body": {
"HttpStatusCode": 200,
"IpList": "100.104.XX.XX/XX,100.104.XX.XX/XX,100.104.XX.XX/XX,****",
"RequestId": "F67A05B4-639B-5A3E-800F-2015E31D****",
"Success": true
}
}