本文以調用資源中心SearchResources介面搜尋當前帳號可見資源為例,為您介紹使用阿里雲CLI調用資源中心OpenAPI的操作步驟。
前置概念
阿里雲CLI(Alibaba Cloud Command Line Interface)是基於OpenAPI構建的通用命令列工具,您可以通過阿里雲CLI實現自動化管理和維護資源中心。更多資訊,請參見什麼是阿里雲CLI。
步驟一:安裝阿里雲CLI
使用阿里雲CLI前,您需要先安裝阿里雲CLI。阿里雲CLI為使用者提供了Windows、Linux和macOS三種作業系統下的安裝服務,請根據您使用裝置的作業系統選擇對應的安裝服務。
Windows:在Windows上安裝阿里雲CLI。
Linux:在Linux上安裝阿里雲CLI。
macOS:在macOS上安裝阿里雲CLI。
Cloud Shell預裝了阿里雲CLI,且自動為您配置身份憑證,無需手動操作。您可在Cloud Shell中調試阿里雲CLI命令。更多資訊,請參見什麼是雲命令列。
步驟二:配置阿里雲CLI
阿里雲主帳號擁有所有產品OpenAPI的管理和存取權限,風險很高。強烈建議您建立RAM身份,並依據最小化許可權原則授予許可權,使用RAM身份訪問OpenAPI。資源中心支援的權限原則,請參見資源管理系統權限原則參考及資源管理自訂權限原則參考。
資源中心僅支援查詢當前帳號下有許可權訪問的資源。因此在使用RAM身份調用OpenAPI時,除資源中心許可權外,您還需要為RAM使用者授予目標雲資源的唯讀存取權限。更多資訊,請參見RAM使用者使用資源中心。
使用阿里雲CLI之前,您需要在阿里雲CLI中配置身份憑證、地區ID等資訊。阿里雲CLI支援多種身份憑證,詳情請參見身份憑證類型。本文以AK類型憑證為例,具體操作步驟如下:
建立一個RAM使用者,並建立AccessKey,以便後續配置身份憑證使用。具體操作,請參見建立RAM使用者及建立AccessKey。
為RAM使用者授權。本文樣本需授予RAM使用者唯讀訪問資源中心的權限原則
AliyunResourceCenterReadOnlyAccess,以及唯讀訪問目標雲資源的權限原則(例如:Virtual Private Cloud (VPC)的唯讀權限原則AliyunVPCReadOnlyAccess)。具體操作,請參見為RAM使用者授權。擷取可用的地區ID,以便後續配置身份憑證使用。阿里雲CLI將使用您指定的地區發起OpenAPI調用,資源中心的可用地區請參見服務存取點。
說明使用阿里雲CLI過程中,您可使用
--region選項指定地區發起命令調用,該選項在使用時將忽略預設身份憑證配置及環境變數設定中的地區資訊。更多資訊,請參見API命令可用選項。使用RAM使用者的AccessKey及地區ID配置AK類型憑證,設定檔命名為
AkProfile。具體操作,請參見配置樣本。
步驟三:產生CLI命令樣本
在OpenAPI門戶中,訪問SearchResources調試地址。

在參數配置中輸入請求參數,單擊CLI樣本頁簽,查看產生的CLI樣本。
複製CLI樣本或在Cloud Shell中快速執行:
單擊運行命令按鈕
,可喚出Cloud Shell並快速完成命令調試。單擊複製按鈕
,將CLI樣本複製到剪貼簿中,可粘貼至本地Shell工具中運行或用於編輯自動化指令碼。
說明複製CLI樣本到本地Shell工具中進行調試時請注意參數格式。關於阿里雲CLI命令參數使用格式的詳細資料,請參見參數格式說明。
OpenAPI門戶產生樣本中會預設添加
--region選項,複製命令到本地調用時阿里雲CLI將忽略預設身份憑證配置及環境變數設定中的地區資訊,優先使用指定的地區調用命令,您可根據需要對該選項進行刪除或保留。
步驟四:調用資源中心OpenAPI
樣本一:擷取支援阿里雲CLI調用資源中心OpenAPI列表
以下樣本將為您展示如何使用--help選項擷取支援阿里雲CLI調用的資源中心OpenAPI列表。更多資訊,請參見API概覽。
執行以下命令。
aliyun resourcecenter --help預期輸出結果。

樣本二:搜尋當前帳號資源
以下樣本將為您展示如何使用阿里雲CLI調用資源中心的SearchResources命令,搜尋當前帳號下Virtual Private Cloud的路由表資源。
執行以下命令。
aliyun resourcecenter SearchResources --Filter.1.Key ResourceType --Filter.1.Value.1 'ACS::VPC::RouteTable' --Filter.1.MatchType Equals預期輸出結果。
{ "NextToken": "eyJzZWFyY2hBZnRlcnMiOlsiMTAwMTU2Nzk4MTU1OSJd****", "RequestId": "D696E6EF-3A6D-5770-801E-4982081FE4D0", "MaxResults": 10, "Resources": [ { "AccountId": "151266687691****", "ResourceGroupId": "rg-acfmzawhxxc****", "ResourceId": "vtb-bp11lbh452fr8940s****", "ResourceName": "group1", "CreateTime": "2024-09-25T08:55:30Z", "ResourceType": "ACS::VPC::RouteTable", "RegionId": "ap-northeast-1" } ] }說明如果調用資源中心OpenAPI後返回錯誤,您需要根據返回的錯誤碼提示檢查傳入的請求參數及其取值是否正確。
您可以記錄下調用返回的RequestID或SDK報錯資訊,通過阿里雲OpenAPI診斷平台進行自助診斷。