Python SDK調(diào)用示例
本文以Python SDK為例,為您介紹如何通過OpenAPI調(diào)用ListDiscovereesources接口查詢配置審計資源列表。
步驟一:查看OpenAPI文檔
通過閱讀API概覽得知,查詢配置審計資源列表的OpenAPI為ListDiscovereesources。請您根據(jù)文檔,了解調(diào)用該接口需要準(zhǔn)備的數(shù)據(jù)和權(quán)限。
步驟二:創(chuàng)建RAM用戶并完成授權(quán)
身份
您可以使用阿里云賬號(主賬號)、RAM用戶、RAM角色調(diào)用該接口,有關(guān)各種身份的差異,請參見身份。本案例中,我們使用RAM用戶進行接口調(diào)用。
登錄RAM訪問控制,創(chuàng)建一個僅允許API調(diào)用的RAM用戶,并記錄AccessKey信息。具體操作,請參見創(chuàng)建RAM用戶。
憑證
在創(chuàng)建RAM用戶時會默認(rèn)生成一個AccessKey,可直接使用。您也可以進入到對應(yīng)的RAM用戶詳情頁面,在認(rèn)證管理頁簽,單擊創(chuàng)建AccessKey,創(chuàng)建一個新的AccessKey。具體操作,請參見創(chuàng)建AccessKey。
RAM用戶的AccessKey Secret只在創(chuàng)建時顯示,不支持查看,請注意保存。
授權(quán)
訪問RAM用戶列表,單擊目標(biāo)RAM用戶操作列的添加權(quán)限。
在權(quán)限策略區(qū)域中輸入關(guān)鍵字
config
進行搜索,根據(jù)最小授權(quán)原則,選擇對應(yīng)的權(quán)限策略。本文示例選擇AliyunConfigReadOnlyAccess系統(tǒng)策略。
說明配置審計的系統(tǒng)權(quán)限策略如下:
AliyunConfigFullAccess:管理配置審計(Config)的權(quán)限。
AliyunConfigReadOnlyAccess:只讀訪問配置審計(Config)的權(quán)限。
關(guān)于如何創(chuàng)建自定義權(quán)限,請參見創(chuàng)建自定義權(quán)限策略和授權(quán)信息。
單擊確認(rèn)新增授權(quán),完成授權(quán)操作。
步驟三:調(diào)用OpenAPI
本文以Python SDK調(diào)用OpenAPI,其他語言SDK的用法類似。更多信息,請參見配置審計SDK。您也可根據(jù)業(yè)務(wù)的實際需要選擇其他調(diào)用方式,更多調(diào)用方法,請參見OpenAPI 調(diào)用方式。
準(zhǔn)備Python環(huán)境
下載并安裝Python。
Python 3的下載地址,請參見Python 3。
查看Python版本。
Linux和macOS系統(tǒng)
打開終端,輸入
python --version
。Windows系統(tǒng)
在Python的安裝路徑下,雙擊python.exe。
打開命令提示符頁面。
通過鍵盤快捷鍵Win+R打開運行對話框,輸入命令python,單擊確定。
配置環(huán)境變量
在Linux、macOS和Windows操作系統(tǒng)下配置環(huán)境變量的方法,請參見在Linux、macOS和Windows系統(tǒng)配置環(huán)境變量。
安裝依賴
pip install alibabacloud_credentials
pip install alibabacloud_config20200907==2.2.8
pip install alibabacloud_tea_console
下載示例代碼
在OpenAPI門戶,訪問ListDiscovereesources接口的調(diào)試地址。
請求參數(shù)MaxResults輸入1,其他參數(shù)均可不填寫,直接單擊發(fā)起調(diào)用。
先單擊SDK示例頁簽,再單擊Python頁簽。
獲取Python語言的SDK示例。
單擊下載完整工程,下載示例代碼包。
在本地解壓示例代碼包,并進入alibabacloud_sample目錄。
運行代碼
執(zhí)行以下命令:
python sample.py
得到如下輸出結(jié)果:
{
"DiscoveredResourceProfiles": {
"TotalCount": 74,
"NextToken": "h+AaTI5d1xePwRFi+1uN****",
"MaxResults": 1,
"DiscoveredResourceProfileList": [
{
"ResourceCreationTime": 1688983108000,
"AccountId": "169827232854****",
"ResourceId": "actiontrail-policy",
"Version": 3,
"ResourceName": "actiontrail-policy",
"Region": "global",
"ResourceStatus": "",
"AvailabilityZone": "",
"ResourceType": "ACS::RAM::Policy",
"Tags": "{}",
"ResourceDeleted": 1
}
]
},
"RequestId": "B9A68D93-5FE4-5257-A2B9-6383945A8575"
}