本文由簡體中文內容自動轉碼而成。阿里雲不保證此自動轉碼的準確性、完整性及時效性。本文内容請以簡體中文版本為準。

阿里雲CLI參數格式要求

更新時間:2025-03-21 19:04

本文介紹使用阿里雲CLI時不同資料類型參數需要遵循的格式要求。

參數格式要求

說明

阿里雲CLI支援在OpenAPI門戶中自動產生CLI樣本。具體操作,請參見產生並調用命令

在OpenAPI門戶中自動產生的CLI樣本預設採用Linux適用參數格式,若您需要在其他環境下執行CLI命令,請根據實際情況修正參數格式。

對於OpenAPI中不同資料類型的欄位,阿里雲CLI遵循如下格式要求:

參數名大小寫

由於OpenAPI參數名嚴格區分大小寫,因此阿里雲CLI的參數名輸入同樣嚴格區分大小寫。

參數值大小寫

部分參數值不區分大小寫。但為確保書寫規範的一致性,建議您嚴格區分參數值的大小寫。

Integer類型

在OpenAPI文檔中標註為Integer類型的參數,可以直接傳入。

aliyun ecs DescribeImages --ImageName Example_Image --Pagesize 10

String類型

在OpenAPI文檔中標註為String類型的參數,如果參數值中沒有包含特殊字元(如$`\、空格等),可直接傳入。否則需要用單引號''或雙引號""包含後再傳入。

  • 通常情況

    阿里雲CLI在接收字串作為參數時,通常需要將字串中的特殊字元轉換為一般字元。在Linux、macOS或Windows PowerShell中,需要使用單引號''包含參數,在Windows命令提示字元中,使用雙引號""

    • 無特殊字元:

      aliyun ecs DescribeImages --ImageName Example_Image
    • 有特殊字元:

      • Windows命令提示字元:

        aliyun ecs DescribeImages --ImageName "Example Image"
      • Linux/macOS/Windows PowerShell:

        aliyun ecs DescribeImages --ImageName 'Example Image'
  • 特殊情況

    調用ROA風格OpenAPI時,如需使用--body選項指定字串(字串中包含逸出字元)或變數作為請求主體,引號的使用方式與通常情況存在差異。在Linux、macOS或Windows命令提示字元中需要使用雙引號""包含請求參數,在Windows PowerShell中,使用單引號''

    • Windows命令提示字元/Linux/macOS:

      aliyun cs PUT /clusters/<ClusterId>/nodepools/<NodepoolId> --body "{\"nodepool_info\":{\"name\":\"default-nodepool\",\"resource_group_id\":\"rg-acfmyvw****\"}}"
    • Windows PowerShell:

      aliyun cs PUT /clusters/<ClusterId>/nodepools/<NodepoolId> --body '{\"nodepool_info\":{\"name\":\"default-nodepool\",\"resource_group_id\":\"rg-acfmyvw****\"}}'

String類型字串列表

在OpenAPI文檔中標註為String類型的參數,如果支援傳入多個值的列表(如ImageId列表),則參數格式如下所示。

  • Windows命令提示字元:

    在Windows命令提示字元中,應將相應的參數值串用逗號,分隔後,再使用雙引號""包含後傳入。

    aliyun ecs DescribeImages --ImageId "m-23e0o****,m-23wae****"
  • Linux/macOS/Windows PowerShell:

    在Linux、macOS或Windows PowerShell中,應將相應的參數值串用逗號,分隔後,再使用單引號''包含後傳入。

    aliyun ecs DescribeImages --ImageId 'm-23e0o****,m-23wae****'

String類型JSON數組

在OpenAPI文檔中標註為String類型的參數,如果要求參數值是一個帶有格式的JSON數組,則參數格式如下所示。

  • Windows:

    在Windows命令提示字元及Windows PowerShell中,應將所有值置於最外層的雙引號""內,雙引號內使用中括弧[]包含、單引號''引用,使用逗號,進行分隔。

    aliyun ecs DescribeDisks --DiskIds "['d-23rss****','d-23vsi****','d-23sfq****']"
  • Linux/macOS:

    在Linux或macOS中,應將所有值置於最外層的單引號''內,單引號內使用中括弧[]包含、雙引號""引用,使用逗號,進行分隔。

    aliyun ecs DescribeDisks --DiskIds '["d-23rss****","d-23vsi****","d-23sfq****"]'

String類型JSON數組列表

在OpenAPI文檔中標註為String類型的參數,如需將參數值設定為一個JSON數組,則參數格式如下所示。

  • Windows:

    在Windows命令提示字元及Windows PowerShell中,應將所有值置於最外層的雙引號""內,雙引號內使用中括弧[]包含。JSON數組中的各個值需用大括弧{}包含,單引號''引用,使用逗號,進行分隔。JSON數組內的鍵與值之間使用冒號:進行分隔。

    aliyun slb AddBackendServers --LoadBalancerId 15157b19f18-cn-hangzhou-dg**** --BackendServers "[{'ServerId':'i-23g8a****'},{'ServerId':'i-23bb0****'}]"
  • Linux/macOS:

    在Linux及macOS中,應將所有值置於最外層的單引號''內,單引號內使用中括弧[]包含。JSON數組中的各個值需用大括弧{}包含,雙引號""引用,使用逗號,進行分隔。JSON數組內的鍵與值之間使用冒號:進行分隔。

    aliyun slb AddBackendServers --LoadBalancerId 15157b19f18-cn-hangzhou-dg**** --BackendServers '[{"ServerId":"i-23g8a****"},{"ServerId":"i-23bb0****"}]'

String類型日期

OpenAPI文檔中標註為String類型的參數,如果要求參數值是一個按照ISO8601標準表示的UTC時間,需要將時間按YYYY-MM-DDThh:mm:ssZ格式傳入。

aliyun ecs DescribeInstanceMonitorData --InstanceId i-94ola4btx**** --StartTime 2015-11-28T15:00:00Z --EndTime 2015-11-28T18:00:00Z

特殊字元

若您輸入的參數值在使用引號包含之後,參數中的特殊字元在命令執行過程中仍出現解析錯誤。您可嘗試將參數格式調整為key=value的格式,以確保命令正確執行。

樣本

在執行如下命令時,阿里雲CLI無法將-1/-1識別為PortRange對應參數。

aliyun ecs AuthorizeSecurityGroup --SecurityGroupId 'sg-bp67acfmxazb4p****' --Permissions.1.PortRange "-1/-1" --method POST --force

如下所示,將--PortRange -1/-1修改為--PortRange=-1/-1,命令可以正確執行。

aliyun ecs AuthorizeSecurityGroup --SecurityGroupId 'sg-bp67acfmxazb4p****' --Permissions.1.PortRange=-1/-1 --method POST --force
  • 本頁導讀 (1, M)
  • 參數格式要求
  • 參數名大小寫
  • 參數值大小寫
  • Integer類型
  • String類型
  • String類型字串列表
  • String類型JSON數組
  • String類型JSON數組列表
  • String類型日期
  • 特殊字元
文檔反饋