CLI整合樣本

更新時間:
Copy as MD

阿里雲CLI(Alibaba Cloud Command Line Interface)是基於OpenAPI構建的通用命令列工具,您可以通過阿里雲CLI實現自動化管理和維護ApsaraMQ for Kafka。本文以調用GetAllInstanceIdList介面查詢目前使用者下所有ApsaraMQ for Kafka執行個體ID集合為例,為您介紹使用阿里雲CLI調用ApsaraMQ for KafkaOpenAPI的操作步驟。

前置概念

閱讀本文前,若您還不瞭解阿里雲CLI,請參見什麼是阿里雲 CLI

步驟一:安裝阿里雲CLI

使用阿里雲CLI前,您需要先安裝阿里雲CLI。阿里雲CLI為使用者提供了Windows、LinuxmacOS三種作業系統下的安裝服務,請根據您使用裝置的作業系統選擇對應的安裝服務。

您也可在Cloud Shell中調試阿里雲CLI命令。Cloud Shell中預裝了阿里雲CLI,且會定期更新軟體版本。更多資訊,請參見什麼是雲命令列

步驟二:配置阿里雲CLI

重要

阿里雲主帳號擁有所有產品OpenAPI的管理和存取權限,風險很高。強烈建議您建立RAM身份,並依據最小化許可權原則授予許可權,使用RAM身份訪問OpenAPI。ApsaraMQ for Kafka支援的權限原則,請參見訊息佇列Kafka版系統權限原則參考雲訊息佇列 Kafka 版自訂權限原則參考

使用阿里雲CLI之前,您需要在阿里雲CLI中配置身份憑證、地區ID等資訊。阿里雲CLI支援多種身份憑證,詳情請參見配置與管理身份憑證。本文操作以AK類型憑證為例,具體操作步驟如下:

  1. 建立一個RAM使用者,並建立AccessKey,以便後續配置身份憑證使用。具體操作,請參見建立RAM使用者建立AccessKey

  2. RAM使用者授權。本文樣本需授予RAM使用者唯讀訪問ApsaraMQ for Kafka的權限原則AliyunKafkaReadOnlyAccess。具體操作,請參見管理RAM使用者的許可權

  3. 擷取可用的地區ID,以便後續配置身份憑證使用。阿里雲CLI將使用您指定的地區發起OpenAPI調用,ApsaraMQ for Kafka的可用地區請參見服務存取點

    說明

    使用阿里雲CLI過程中您可使用--region選項指定地區發起命令調用,該選項在使用時將忽略預設身份憑證配置及環境變數設定中的地區資訊。詳情請參見命令列選項

  4. 使用RAM使用者的AccessKey配置AK類型憑證,設定檔命名為AkProfile。具體操作,請參見配置與管理身份憑證

步驟三:產生CLI命令樣本

  1. OpenAPI門戶中,訪問GetAllInstanceIdList調試地址

  2. 參數配置中輸入請求參數,單擊CLI樣本頁簽,查看產生的CLI樣本。

  3. 複製CLI樣本或在Cloud Shell中快速執行:

    • 單擊運行命令image按鈕,可喚出Cloud Shell並快速完成命令調試。

    • 單擊複製按鈕image,將CLI樣本複製到剪貼簿中,可粘貼至本地Shell工具中運行。

    說明

    複製CLI樣本到本地Shell工具中進行調試時請注意參數格式。關於阿里雲CLI命令參數使用格式的詳細資料,請參見理解命令列參數

    OpenAPI門戶產生樣本中會預設添加--region選項,複製命令到本地調用時阿里雲CLI將忽略預設身份憑證配置及環境變數設定中的地區資訊,優先使用指定的地區調用命令,您可根據需要對該選項進行刪除或保留。

步驟四:調用雲訊息佇列 Kafka 版OpenAPI

樣本一:擷取支援阿里雲CLI調用雲訊息佇列 Kafka 版OpenAPI列表

以下樣本將為您展示如何使用--help選項擷取支援阿里雲CLI調用的ApsaraMQ for KafkaOpenAPI列表。您也可在API概覽中查看支援調用的OpenAPI。

  1. 執行命令。

    aliyun alikafka --help
  2. 輸出結果。

    Product: alikafka (雲訊息佇列 Kafka 版)
    Version: 2019-09-16
    Available Api List:
      ChangeResourceGroup       進行資源轉組。
      ConvertPostPayOrder       將後付費執行個體轉為預付費執行個體。
      CreateAcl                 調用 CreateAcl建立 ACL。
      CreateConsumerGroup        調用 CreateConsumerGroup建立 Group。
      CreatePostPayOrder        後付費執行個體根據所購資源規格的實際使用量計費,先使用,後計費。主要適用於測試或者流量峰值不確定的短期情境。本文介紹如何調用CreatePostPayOrder建立後付費執行個體。
      CreatePrePayOrder         預付費執行個體需要先付費才能使用資源,主要適用於長期穩定的業務運行情境。本文介紹調用CreatePrePayOrder建立預付費執行個體。
      CreateSaslUser            調用 CreateSaslUser建立 SASL使用者。

樣本二:查詢執行個體列表

以下樣本將為您展示如何使用阿里雲CLI調用ApsaraMQ for KafkaGetAllInstanceIdList命令,查詢目前使用者下所有ApsaraMQ for Kafka執行個體ID集合。

  1. 執行命令。

    aliyun alikafka GetAllInstanceIdList --RegionId cn-hangzhou
  2. 輸出結果。

    {
      "Code": 200,
      "Message": "operation success.",
      "InstanceIds": [
        {
          "cn-shenzhen": [
            "alikafka_post-cn-7pp2btvo****"
          ],
          "us-west-1": [
            "alikafka_pre-cn-i7m2lxid****"
          ],
          "cn-hangzhou": [
            "alikafka_pre-cn-i7m2hflj****",
            "alikafka_pre-cn-zvp2hsje****",
            "alikafka_pre-cn-zvp2kvc9****"
          ]
        }
      ],
      "RequestId": "ABA4A7FD-E10F-45C7-9774-A5236015****",
      "Success": true
    }
    說明

    如果調用ApsaraMQ for KafkaOpenAPI後返回錯誤,您需要根據返回的錯誤碼提示檢查傳入的請求參數及其取值是否正確。

    您也可以記錄下調用返回的RequestIDSDK報錯資訊,通過阿里雲OpenAPI診斷平台進行自助診斷。