本文介紹如何使用阿里雲Python語言SDK開發包,調用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的用法也類似。更多資訊,請參見Data Transmission Service 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
}
}