全部產品
Search
文件中心

Service Catalog:Python SDK調用樣本

更新時間:Nov 14, 2025

本文以Python SDK為例,為您介紹如何通過服務類別目錄OpenAPI調用ListPortfolios介面查詢產品組合列表。

步驟一:查看OpenAPI文檔

閱讀API概覽,選擇可以查詢產品組合列表OpenAPI:查詢產品組合列表。根據介面文檔,瞭解調用該介面需要的參數及許可權。

步驟二:建立RAM使用者並授權

身份

您可以使用阿里雲帳號(主帳號)、RAM使用者、RAM角色調用該介面。關於各種身份的差異,請參見身份

本樣本中,使用RAM使用者調用介面。

登入RAM存取控制,建立一個僅允許OpenAPI調用的RAM使用者,會同時產生一個AccessKey,請注意儲存。具體操作,請參見建立RAM使用者

授權

控制台

  1. 登入RAM控制台

  2. 使用者頁面,找到已經建立的使用者,單擊操作列的添加許可權

    image

  3. 新增授權面板,為RAM使用者添加許可權。

    1. 選擇資源範圍:通常選擇帳號層級

    2. 選擇權限原則:在文字框中輸入關鍵字servicecatalog進行搜尋,根據最小授權原則,選擇對應權限原則。

      • AliyunServiceCatalogAdminFullAccess:管理服務類別目錄(ServiceCatalog)管理員側的許可權。

      • AliyunServiceCatalogAdminReadOnlyAccess:唯讀訪問服務類別目錄(ServiceCatalog)管理員側的許可權。

        說明

        如果系統策略不能滿足您的需求,您可以建立自訂策略。更多資訊,請參見建立自訂權限原則授權資訊

        本文樣本選擇AliyunServiceCatalogAdminReadOnlyAccess系統策略。

  4. 單擊確認新增授權

OpenAPI

授予自訂策略

  1. 調用CreatePolicy建立一個自訂策略,可以參考權限原則基本元素權限原則樣本庫概覽

  2. 調用AttachPolicyToUser將權限原則綁定至指定RAM使用者,注意此處PolicyType選擇Custom

授予系統策略

直接調用AttachPolicyToUser將權限原則綁定至指定RAM使用者,注意此處PolicyType選擇SystemPolicyName選擇AliyunServiceCatalogAdminFullAccessAliyunServiceCatalogAdminReadOnlyAccess

  • AliyunServiceCatalogAdminFullAccess:管理服務類別目錄(ServiceCatalog)管理員側的許可權。

  • AliyunServiceCatalogAdminReadOnlyAccess:唯讀訪問服務類別目錄(ServiceCatalog)管理員側的許可權。

本文樣本選擇AliyunServiceCatalogAdminReadOnlyAccess系統策略。

憑證

進入到對應的RAM使用者詳情頁,在認證管理頁簽下的使用者AccessKey地區,查看AccessKey。您也可以單擊建立AccessKey,建立一個新的AccessKey。具體操作,請參見建立AccessKey

重要

RAM使用者的AccessKey Secret只在建立時顯示,不支援查看,請注意儲存。

步驟三:調用OpenAPI

本文以Python SDK調用OpenAPI為例,其他語言SDK的用法類似,更多資訊請參見服務類別目錄SDK。您也可以根據業務的實際需要選擇其他調用方式,更多調用方法請參見調用方式

準備Python環境

下載並安裝Python 3

安裝完成後,在終端中輸入python --version,查看Python版本。

配置環境變數

為避免將AccessKey寫入程式碼到業務代碼中帶來的安全風險,本樣本採用配置環境變數的方法管理AccessKey。具體操作,請參見在Linux、macOS和Windows系統配置環境變數

安裝依賴

pip install alibabacloud_credentials
pip install alibabacloud_servicecatalog20210901==1.1.4
pip install alibabacloud_tea_console

下載範例程式碼

  1. 在OpenAPI門戶,訪問ListPortfolios調試地址

  2. 輸入請求參數,單擊發起調用,查看調試結果是否成功。

  3. SDK樣本頁簽下的Python頁簽,單擊下載完整工程,下載Python SDK範例程式碼包。

  4. 在本地解壓範例程式碼包,並進入alibabacloud_sample目錄。

運行範例程式碼

執行以下命令:

python sample.py

得到如下輸出:

{
	"headers": {
		"date": "Fri, 14 Jul 2023 06:29:19 GMT",
		"content-type": "application/json;charset=utf-8",
		"content-length": "577",
		"connection": "keep-alive",
		"keep-alive": "timeout=25",
		"access-control-allow-origin": "*",
		"access-control-expose-headers": "*",
		"x-acs-request-id": "A453CDA5-B557-57A5-A05B-48F14646****",
		"x-acs-trace-id": "131ed76192b0df2396bb6fb51342****",
		"etag": "5+OC5aIgno6FJurD4O1s****"
	},
	"statusCode": 200,
	"body": {
		"PageNumber": 1,
		"PageSize": 10,
		"PortfolioDetails": [{
			"CreateTime": "2023-07-14T06:11:31Z",
			"Description": "",
			"PortfolioArn": "acs:servicecatalog:cn-hangzhou:151266687691****:portfolio/port-bp1ac4uk39****",
			"PortfolioId": "port-bp1ac4uk39****",
			"PortfolioName": "test",
			"ProviderName": "test"
		}, {
			"CreateTime": "2022-09-23T01:32:59Z",
			"Description": "",
			"PortfolioArn": "acs:servicecatalog:cn-hangzhou:151266687691****:portfolio/port-bp1rfbwd2f****",
			"PortfolioId": "port-bp1rfbwd2f****",
			"PortfolioName": "abc",
			"ProviderName": "abc"
		}],
		"RequestId": "A453CDA5-B557-57A5-A05B-48F1464622A4",
		"TotalCount": 2
	}
}