本文介紹如何使用阿里云Python語言SDK開發包,調用數據傳輸服務DTS(Data Transmission Service)的WhiteIpList接口(查詢DTS服務的IP地址)。
查看OpenAPI文檔
在調用OpenAPI前,建議您先閱讀對應接口文檔,了解、學習調用該接口所需要的參數及權限等,更多信息請參見API概覽。
創建RAM用戶并完成授權
若您已創建RAM用戶并完成授權,可跳過此步驟。
創建RAM用戶:
訪問RAM用戶列表,單擊創建用戶。
設置登錄名稱為dts-openapi-operator,選擇訪問方式為使用永久 AccessKey 訪問。
單擊確定,創建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
}
}