阿里云CLI(Alibaba Cloud Command Line Interface)是基于OpenAPI構建的通用命令行工具,您可以通過阿里云CLI實現自動化管理和維護容器鏡像服務 ACR(Container Registry)。本文以調用GetInstance
接口獲取容器鏡像服務企業版實例詳情為例,為您介紹使用阿里云CLI調用容器鏡像服務OpenAPI的操作步驟。
前置概念
閱讀本文前,若您還不了解阿里云CLI,請參見什么是阿里云CLI。
步驟一:安裝阿里云CLI
使用阿里云CLI前,您需要先安裝阿里云CLI。阿里云CLI為用戶提供了Windows、Linux和macOS三種操作系統下的安裝服務,請根據您使用設備的操作系統選擇對應的安裝服務。
Windows:在Windows上安裝阿里云CLI。
Linux:在Linux上安裝阿里云CLI。
macOS:在macOS上安裝阿里云CLI。
您也可使用阿里云提供的云命令行Cloud Shell調試阿里云CLI命令。關于云命令行的更多信息,請參見什么是云命令行。
步驟二:配置阿里云CLI
阿里云主賬號擁有所有產品OpenAPI的管理和訪問權限,風險很高。強烈建議您創建RAM身份,并依據最小化權限原則授予權限,使用RAM身份調用OpenAPI。容器鏡像服務支持的權限策略,請參見容器鏡像服務系統權限策略參考。
使用阿里云CLI之前,您需要在阿里云CLI中配置身份憑證、地域ID等信息。阿里云CLI支持多種身份憑證,詳情請參見身份憑證類型。本文操作以AK類型憑證為例,具體操作步驟如下:
創建一個RAM用戶,并創建AccessKey,以便后續配置身份憑證使用。具體操作,請參見創建RAM用戶及創建AccessKey。
為RAM用戶授權。本文示例需授予RAM用戶只讀訪問容器鏡像服務的權限
AliyunContainerRegistryReadOnlyAccess
。具體操作,請參見為RAM用戶授權。獲取可用的地域ID,以便后續配置身份憑證使用。阿里云CLI將使用您指定的地域發起OpenAPI調用。容器鏡像服務的可用地域請參見服務接入點。
說明使用阿里云CLI過程中您可使用
--region
選項指定地域發起命令調用,該選項在使用時將忽略默認身份憑證配置及環境變量設置中的地域信息。詳情請參見OpenAPI命令可用選項。使用RAM用戶的AccessKey配置AK類型憑證,配置文件命名為
AkProfile
。具體操作,請參見配置示例。
生成CLI命令示例
單擊GetInstance調試地址,訪問OpenAPI門戶。
在參數配置中輸入請求參數,單擊CLI示例頁簽,查看生成的CLI示例。
復制CLI示例或在云命令行中快速執行:
調用API
示例一:獲取阿里云CLI中支持調用的容器鏡像服務OpenAPI列表
以下代碼示例將為您展示如何使用--help
選項獲取支持阿里云CLI調用容器鏡像服務OpenAPI列表。您也可在API概覽中查看支持調用的API。
執行命令。
aliyun cr --help
輸出結果。
示例二:獲取容器鏡像服務實例詳情
以下代碼示例將為您展示如何使用阿里云CLI調用容器鏡像服務中的GetInstance
命令,獲取容器鏡像服務實例詳情。
執行命令。
aliyun cr GetInstance --region cn-shanghai --InstanceId 'cri-xkx6vujuhay0****'
返回結果如下,您可以看到容器鏡像服務實例的詳細信息。
{ "ModifiedTime": 1571926560000, "RequestId": "6EF34B18-4228-470C-860C-D28597CF010E", "CreateTime": 1571926439000, "InstanceName": "shanghai-instance1", "InstanceSpecification": "Enterprise_Basic", "Code": "success", "InstanceStatus": "RUNNING", "InstanceId": "cri-xkx6vujuhay0****", "IsSuccess": true, "ResourceGroupId": "rg-acfmv36i4isx****", "InstanceIssue": "實例問題,取值:\nOSS_TOO_MANY_BUCKETS:OSS Bucket 數量超限\n\nOSS_BUCKET_ALREADY_EXISTS:同名 OSS Bucket 已存在\n\nOSS_SERVICE_ROLE_UNAUTHORIZED:OSS 權限未授權\n\nUSER_NOT_REGISTERED_BY_REAL_NAME:阿里云賬號未實名", "Tags": [ { "TagKey": "test_key", "TagValue": "test_value" } ] }
說明如果調用容器鏡像服務OpenAPI后返回錯誤,您需要根據返回的錯誤碼提示檢查傳入的請求參數及其取值是否正確。
您也可以記錄下調用返回的RequestID或SDK報錯信息,通過阿里云OpenAPI診斷平臺進行自助診斷。