全部產品
Search
文件中心

Alibaba Cloud CLI:調用RPC API和RESTful API

更新時間:Jun 30, 2024

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

判斷API風格

調用產品介面時,首先需要判斷API類型,選擇標準的命令結構發起調用。您可以通過以下特點判斷API類型。

  • 在產品後使用--help選項擷取產品可用API列表,RPC風格API顯示簡述,RESTful風格API顯示訪問路徑PathPattern

  • APIName後使用--help選項擷取API參數詳情,RESTful風格API會顯示API的請求方式Method和訪問路徑PathPattern

  • 一般情況下,每個產品內所有API的調用風格是統一的。每個API僅支援特定的一種風格,傳入錯誤的標識,可能會調用到其他API,或收到ApiNotFound的錯誤資訊。

調用RPC API

命令結構

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

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

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

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

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

命令樣本

調用RESTful API

命令結構

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

 aliyun <product> <Method> <PathPattern> --body <RequestBody>
  • product:需要調用的雲產品code。例如Container ServiceKubernetes版的產品code為cs

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

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

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

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

命令樣本

GET請求

Container Service for KubernetesAPIDescribeClusterDetail為例。有關此API的更多資訊,請參見DescribeClusterDetail - 查詢指定叢集的資訊

aliyun cs GET /clusters/{cluster_id}

PUT請求

Container Service for KubernetesAPIModifyCluster為例。有關此API的更多資訊,請參見ModifyCluster - 修改叢集配置

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

POST請求

Container Service for KubernetesAPICreateCluster為例。有關此API的更多資訊,請參見CreateCluster - 建立叢集

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

DELETE請求

Container Service for KubernetesAPIDeleteClusterNodepool為例。有關此API的更多資訊,請參見DeleteClusterNodepool - 刪除節點池

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