本文將介紹阿里雲CLI的通用命令結構,以及在調用RPC風格或ROA風格OpenAPI時所需的特定命令結構。
通用命令結構
阿里雲CLI的通用命令結構如下:
aliyun <Command> [SubCommand] [Options and Parameters]結構樣本中Command、SubCommand、Options and Parameters的詳細資料如下所示:
Command:指定一個頂級命令。可指定阿里雲CLI支援的雲產品Code
ProductCode,例如ecs、rds等。可指定阿里雲CLI本身的功能命令,例如configure等。
SubCommand:指定要執行操作的子命令,即具體的某一項操作。當頂級命令
command為configure時,支援的子命令請參見配置命令。當頂級命令
command為雲產品Code,且OpenAPI風格為RPC風格時,子命令通常為可調用的OpenAPI名稱。
Options and Parameters:指定用於控制阿里雲CLI行為的選項或者OpenAPI參數選項,選項值可以是數字、字串和JSON結構字串等。更多參數格式資訊,請參見參數格式。
判斷OpenAPI風格
阿里雲雲產品OpenAPI分為RPC和ROA兩種風格類型,大部分產品使用的是RPC風格。不同風格介面的調用方式不同,當您使用阿里雲CLI調用介面時需要判斷介面類型。您可以通過以下方式判斷OpenAPI風格:
前往目標雲產品文檔,單擊,在文檔中查看雲產品支援的OpenAPI風格。
在阿里雲CLI中,通過在雲產品Code
ProductCode後使用--help選項可以擷取產品可用OpenAPI列表,不同風格介面顯示的協助資訊存在差異。RPC風格OpenAPI將在協助資訊中顯示介面簡述。
ROA風格OpenAPI將在協助資訊中顯示訪問路徑
PathPattern。
更多資訊,請參見擷取產品可用OpenAPI列表。
在阿里雲CLI中,通過在介面名稱
APIName後使用--help選項可以擷取OpenAPI參數詳情。ROA風格OpenAPI會在協助資訊中額外顯示介面的請求方式Method和訪問路徑PathPattern。更多資訊,請參見擷取API參數詳情。
一般情況下,每個產品內所有介面的調用風格是統一的,且每個介面僅支援特定的一種風格。更多關於RPC風格和ROA風格的資訊,請參見OpenAPI 風格。
RPC風格命令結構
結構說明
在阿里雲CLI中,調用RPC風格的OpenAPI時,其命令結構如下。
aliyun <ProductCode> <APIName> [Parameters] 樣本中ProductCode、APIName、Parameters的詳細資料如下所示:
ProductCode:雲產品Code。例如Elastic Compute Service (ECS)的雲產品Code為ecs。APIName:介面名稱。例如使用Elastic Compute Service的DescribeRegions介面。Parameters:請求參數。您可以在協助資訊或官網文檔中查看可用請求參數,以選項形式指定參數。可使用
--help選項擷取關於以上參數的協助資訊。詳情請參見擷取協助資訊。
命令樣本
以下樣本為您展示如何調用Elastic Compute Service
DescribeRegions介面,查詢可用地區資訊列表。更多資訊,請參見DescribeRegions - 查詢地區列表。aliyun ecs DescribeRegions以下樣本為您展示如何調用Elastic Compute Service
DescribeInstanceAttribute介面,查詢指定ECS執行個體的屬性資訊。更多資訊,請參見DescribeInstanceAttribute - 查詢執行個體屬性資訊。aliyun rds DescribeInstanceAttribute --InstanceId 'i-uf6f5trc95ug8t33****'
ROA風格命令結構
命令結構
在阿里雲CLI中,調用ROA風格OpenAPI時,基本命令結構如下。
aliyun <ProductCode> <Method> <PathPattern> [RequestBody] [Parameters] 樣本中ProductCode、Method、PathPattern、RequestBody、Parameters的詳細資料如下所示:
ProductCode:雲產品Code。例如Container Service for Kubernetes (ACK)的雲產品Code為cs。Method:請求方式。您可以根據協助資訊或官網文檔選擇正確的請求方式。常用請求方式有GET、PUT、POST、DELETE。PathPattern:請求路徑。您可以根據協助資訊或官網文檔選擇正確的請求路徑。RequestBody:請求主體。您可以參考說明資訊或官網文檔,使用以下選項指定請求主體。使用
--body選項指定字串或變數作為請求主體。使用
--body-file選項指定檔案路徑,將目標檔案作為請求主體。
具體操作請參見命令選項。
Parameters:請求參數。您可以在協助資訊或官網文檔中查看可用請求參數,以選項形式指定參數。可使用
--help選項擷取關於以上參數的協助資訊。詳情請參見擷取協助資訊。
命令樣本
GET請求
以下樣本為您展示如何調用Container Service for KubernetesDescribeClustersForRegion介面,查詢杭州地區下的ACK專有叢集。更多資訊,請參見DescribeClustersForRegion - 查詢指定地區的叢集列表。
aliyun cs GET /regions/cn-hangzhou/clusters --cluster_type KubernetesPUT請求
以下樣本為您展示如何調用Container Service for KubernetesModifyCluster介面,修改叢集綁定的EIP執行個體。更多資訊,請參見ModifyCluster - 修改叢集配置。
aliyun cs PUT /api/v2/clusters/cb95aa626a47740afbf6aa099b65**** --body "{\"api_server_eip\":true,\"api_server_eip_id\":\"eip-wz9fnasl6dsfhmvci****\"}"POST請求
以下樣本為您展示如何調用Container Service for KubernetesCreateCluster介面,根據create.json檔案建立ACK專有叢集。更多資訊,請參見CreateCluster - 建立叢集。
aliyun cs POST /clusters --body-file create.jsonDELETE請求
以下樣本為您展示如何調用Container Service for KubernetesDeleteClusterNodepool介面,刪除叢集中的指定節點池。更多資訊,請參見DeleteClusterNodepool - 刪除節點池。
aliyun cs DELETE /clusters/cb95aa626a47740afbf6aa099b65****/nodepools/np30db56bcac7843dca90b999c8928****