全部產品
Search
文件中心

Alibaba Cloud CLI:命令結構說明

更新時間:Nov 23, 2024

阿里雲雲產品OpenAPI分為RPC和ROA兩種類型,大部分產品使用的是RPC風格。當您使用阿里雲CLI調用介面時,不同風格OpenAPI的調用方式不同。

通用命令結構

阿里雲CLI的通用命令結構如下:

aliyun <command> <subcommand> [options and parameters]

結構樣本中commandsubcommandoptions and parameters的詳細資料如下所示:

  • command:指定一個頂級命令。

    • 可指定阿里雲CLI支援的雲產品ProductCode,例如ecsrds等。

    • 可指定阿里雲CLI本身的功能命令,例如helpconfigure等。

  • subcommand:指定要執行操作的附加子命令,即具體的某一項操作。

    • 當頂級命令commandconfigure時,支援的子命令請參見配置憑證相關命令

    • 當頂級命令command為雲產品code時,子命令通常為可調用的OpenAPI名稱。更多雲產品OpenAPI,請參見尋找API

  • options and parameters:指定用於控制阿里雲CLI行為的選項或者OpenAPI參數選項,其選項值可以是數字、字串和JSON結構字串等。更多參數格式資訊,請參見參數格式說明

OpenAPI命令結構

判斷OpenAPI風格

阿里雲雲產品OpenAPI分為RPC和ROA兩種風格類型,大部分產品使用的是RPC風格。調用產品介面時需要判斷介面類型,選擇標準的命令結構發起調用。您可以通過以下特點判斷OpenAPI類型。

  • 前往目標雲產品文檔,單擊開發參考 > API概覽,在文檔中查看產品OpenAPI風格。

  • 在阿里雲CLI中使用--help選項擷取產品可用OpenAPI列表,RPC風格OpenAPI顯示介面簡述,ROA風格OpenAPI顯示訪問路徑PathPattern。更多資訊,請參見擷取產品可用OpenAPI列表

  • APIName後使用--help選項擷取OpenAPI參數詳情,除介面參數資訊外,ROA風格OpenAPI會額外顯示介面的請求方式Method和訪問路徑PathPattern。更多資訊,請參見擷取API參數詳情

一般情況下,每個產品內所有API的調用風格是統一的。每個API僅支援特定的一種風格。更多關於RPC風格和ROA風格的資訊,請參見OpenAPI 風格

RPC風格OpenAPI結構

命令結構

在阿里雲CLI中,調用RPC風格API時,基本命令結構如下。

aliyun <product> <APIName> [--parameter1 value1 --parameter2 value2 ...]
  • ProductCode:需要調用的雲產品code。例如Elastic Compute Service (ECS)的產品code為ecs

  • APIName:需要調用的API。例如使用Elastic Compute ServiceDescribeRegions介面。

  • --parameter:需要傳入的請求參數。可在產品API文檔查看請求參數詳情。

  • 可使用--help選項擷取關於以上參數的協助資訊。詳情請參見擷取協助資訊

命令樣本

ROA風格OpenAPI結構

命令結構

在阿里雲CLI中,調用ROA風格OpenAPI時,基本命令結構如下。

 aliyun <ProductCode> <Method> <PathPattern> --body <RequestBody>
  • ProductCode:需要調用的雲產品code。例如Container Service for Kubernetes (ACK)的產品code為cs

  • Method:請求方式,常用請求方式有GETPUTPOSTDELETE。根據API文檔選擇合適的請求方式。

  • PathPattern:請求路徑。根據產品API文檔選擇正確的請求路徑。

  • RequestBody:請求主體。根據產品API文檔編輯JSON字串,或引用JSON格式檔案。

  • 可使用--help選項擷取關於以上參數的協助資訊。詳情請參見擷取協助資訊

命令樣本

GET請求

以調用Container Service for KubernetesDescribeClusterDetail介面為例。有關此API的更多資訊,請參見DescribeClusterDetail - 查詢指定叢集的資訊

aliyun cs GET /clusters/{cluster_id}

PUT請求

以調用Container Service for KubernetesModifyCluster介面為例。有關此API的更多資訊,請參見ModifyCluster - 修改叢集配置

aliyun cs PUT /api/v2/clusters/{ClusterId} --header "Content-Type=application/json" --body "$(cat input.json)"

POST請求

以調用Container Service for KubernetesCreateCluster介面為例。有關此API的更多資訊,請參見CreateCluster - 建立叢集

aliyun cs POST /clusters --header "Content-Type=application/json" --body "$(cat create.json)"

DELETE請求

以調用Container Service for KubernetesDeleteClusterNodepool介面為例。有關此API的更多資訊,請參見DeleteClusterNodepool - 刪除節點池

aliyun cs DELETE /clusters/{ClusterId}/nodepools/{NodepoolId}