阿里雲CLI(Alibaba Cloud Command Line Interface)是基於OpenAPI構建的通用命令列工具,您可以通過阿里雲CLI實現自動化管理和維護CloudOps Orchestration Service。本文將為您介紹使用阿里雲CLI調用CloudOps Orchestration Service的操作步驟和樣本。
前置概念
閱讀本文前,若您還不瞭解阿里雲CLI,請參見什麼是阿里雲CLI。
安裝阿里雲CLI
使用阿里雲CLI前,您需要先安裝阿里雲CLI。阿里雲CLI為使用者提供了Windows、Linux和macOS三種作業系統下的安裝服務,請根據您使用裝置的作業系統選擇對應的安裝服務。
Windows:在Windows上安裝阿里雲CLI。
Linux:在Linux上安裝阿里雲CLI。
macOS:在macOS上安裝阿里雲CLI。
您也可使用阿里雲提供的雲命令列Cloud Shell調試阿里雲CLI命令。關於雲命令列的更多資訊,請參見什麼是雲命令列。
配置阿里雲CLI
阿里雲主帳號擁有所有產品API的管理和存取權限,風險很高。強烈建議您建立並使用RAM使用者進行API訪問或日常營運。
使用阿里雲CLI之前,您需要在阿里雲CLI中配置身份憑證、地區ID等資訊。阿里雲CLI支援多種身份憑證,詳情請參見身份憑證類型。本文操作以AK類型憑證為例,具體操作步驟如下:
您需要建立一個RAM使用者並根據需要授予管理對應產品的許可權。具體操作,請參見建立RAM使用者及使用RAM進行存取控制。
建立RAM使用者並授權後,您需要建立RAM使用者對應的AccessKey,並記錄
AccessKey ID
和AccessKey Secret
,以便後續配置身份憑證使用。具體操作,請參見建立AccessKey。配置憑證需要設定地區ID,阿里雲CLI將使用您指定的地區發起API調用。可用地區請參見服務存取點。
說明使用阿里雲CLI過程中您可使用
--region
選項指定地區發起命令調用,該選項在使用時將忽略預設身份憑證配置及環境變數設定中的地區資訊。詳情請參見API命令可用選項。使用RAM使用者的AccessKey配置AK類型憑證,設定檔命名為
AkProfile
。具體操作,請參見配置樣本。
產生CLI命令樣本
在API調試介面左側搜尋方塊中可搜尋您需要使用的API。在參數配置中根據API文檔資訊填寫參數,單擊參數配置右側的CLI樣本頁簽即可產生攜帶參數的命令樣本。
調用API
命令結構
阿里雲CLI的通用命令列結構如下。更多詳情,請參見命令結構。
aliyun <command> <subcommand> [options and parameters]
常用命令選項
在阿里雲CLI中,您可根據需要使用命令列選項,用來修改命令的預設行為或為命令提供額外功能。常用命令列選項如下:
--profile <profileName>
:使用--profile
選項並指定有效配置名稱profileName
後,阿里雲CLI將忽略預設身份憑證配置及環境變數設定,優先使用指定的配置進行命令調用。--help
:在需要擷取協助的命令層級處鍵入--help
選項,即可擷取該命令的協助資訊。更多詳情,請參見擷取協助資訊。
更多詳細資料,請參見API命令可用選項。
調用樣本
樣本一:以下程式碼範例將為您展示如何使用--help
選項擷取CloudOps Orchestration Service支援阿里雲CLI調用API列表。您也可在API概覽中查看支援調用的API。
執行命令。
aliyun oos --help
輸出結果。
樣本二:以下程式碼範例將為您展示如何使用阿里雲CLI調用系統營運管理中的CreateTemplate
命令,建立一個模板CLI_Template
。
執行命令。
說明String類型JSON數組列表參數值的傳入格式在不同作業系統中存在差異,請您根據作業系統選擇對應的命令。更多格式資訊,請參見參數格式說明。
Linux/macOS
aliyun oos CreateTemplate --RegionId 'cn-hangzhou' --TemplateName CLI_Template --Content '{"FormatVersion": "OOS-2019-06-01", "Description": "Describe instances of given status", "Parameters": {"Status": {"Type": "String", "Description": "(Required) The status of the Ecs instance."}}, "Tasks": [{"Properties": {"Parameters": {"Status": "{{ Status }}"}, "API": "DescribeInstances", "Service": "Ecs"}, "Name": "foo", "Action": "ACS::ExecuteApi"}]}'
Windows
aliyun oos CreateTemplate --RegionId 'cn-hangzhou' --TemplateName CLI_Template --Content "{'FormatVersion': 'OOS-2019-06-01', 'Description': 'Describe instances of given status', 'Parameters': {'Status': {'Type': 'String', 'Description': '(Required) The status of the Ecs instance.'}}, 'Tasks': [{'Properties': {'Parameters': {'Status': '{{ Status }}'}, 'API': 'DescribeInstances', 'Service': 'Ecs'}, 'Name': 'foo', 'Action': 'ACS::ExecuteApi'}]}"
輸出結果。
{ "RequestId": "989F0944-E653-5826-9FA7-8ADE6E66F485", "Template": { "Description": "Describe instances of given status", "CreatedBy": "test(2039927162697*****)", "TemplateFormat": "JSON", "ResourceGroupId": "rg-acfmykd6*****", "UpdatedDate": "2024-08-05T10:28:24Z", "TemplateVersion": "v1", "Hash": "8abc5921b5a05051992*****", "UpdatedBy": "test(2039927162697*****)", "HasTrigger": false, "CreatedDate": "2024-08-05T10:28:24Z", "TemplateName": "CLI_Template", "Tags": {}, "TemplateId": "t-9246d5246f*****", "ShareType": "Private" } }
說明如果調用CloudOps Orchestration ServiceAPI後返回錯誤,您需要根據返回的錯誤碼提示檢查傳入的請求參數及其取值是否正確。
您也可以記錄下調用返回的RequestID或報錯資訊,通過阿里雲OpenAPI診斷平台進行自助診斷。