本文介紹了使用阿里雲CLI時,不同資料類型欄位需要遵循的格式要求。
對於API中不同資料類型的欄位,阿里雲CLI遵循如下格式要求:
參數大小寫:由於API參數嚴格區分大小寫,阿里雲CLI的參數輸入也嚴格區分大小寫。
參數值大小寫:雖然部分參數值可以不區分大小寫,但為了保證統一的書寫規範,建議您對參數值也嚴格區分大小寫。
Integer型別參數值的傳入:API文檔中標註為Integer類型的參數,可直接傳入。
樣本:
aliyun ecs DescribeImages --ImageName WindowsTest --Pagesize 10
String型別參數值的傳入:API文檔中標註為String類型的參數,如果參數值中沒有包含特殊字元,可直接傳入。否則需要用單引號或雙引號包含後再傳入,在Linux、macOS或Windows PowerShell中,使用單引號(' '),在Windows Shell中,使用雙引號(" ")。
樣本:
無特殊字元:
aliyun ecs DescribeImages --ImageName WindowsTest
有特殊字元:
Windows:
aliyun ecs DescribeImages --ImageName "自訂鏡像_1-10.11.161.1"
Linux/macOS:
aliyun ecs DescribeImages --ImageName '藍屏windows-DB業務-10.173.161.26'
String類型字串列表值的傳入:API文檔中標註為String類型的參數,如果支援多個值的列表(如ImageId列表),可將相應的參數值串用半形逗號字元分隔後,再使用單引號或雙引號包含後傳入。
樣本:
Windows:
aliyun ecs DescribeImages --ImageId "m-23e0oxmbv,m-23waejuy9"
Linux/macOS:
aliyun ecs DescribeImages --ImageId 'm-23e0oxmbv,m-23waejuy9'
String類型JSON數組參數值的傳入:API文檔中標註為String類型的參數,如果要求參數值是一個帶有格式的JSON Array,需要將所有值用單引號包括,中間用方括弧包含、雙引號引用、逗號分隔。也可將上述用法中的單引號和雙引號互換。
樣本:
Windows:
aliyun ecs DescribeDisks --DiskIds "['d-23rssg24f','d-23vsih26x','d-23sfqfbfa']"
Linux/macOS:
aliyun ecs DescribeDisks --DiskIds '["d-23rssg24f","d-23vsih26x","d-23sfqfbfa"]'
String類型JSON數組列表參數值的傳入:API文檔中標註為String類型的參數,如果要求參數值是一個JSON Array List,需要將所有值在最外層用雙引號包括,中間用方括弧包含,JSON Array值用大括弧包含、逗號分隔,JSON Array內的key和value用冒號分隔。也可將上述用法中的單引號和雙引號互換。
樣本:
Windows:
aliyun slb AddBackendServers --LoadBalancerId 15157b19f18-cn-hangzhou-dg-a01 --BackendServers "[{'ServerId':'i-23g8aact0'},{'ServerId':'i-23bb03yh9'}]"
Linux/macOS:
aliyun slb AddBackendServers --LoadBalancerId 15157b19f18-cn-hangzhou-dg-a01 --BackendServers '[{"ServerId":"i-23g8aact0"},{"ServerId":"i-23bb03yh9"}]'
String類型日期格式參數值的傳入:API文檔中標註為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
的格式。例如:--PortRange -1/-1
改寫成--PortRange=-1/-1
,則可以正確執行。