阿里雲產品的查詢介面會返回JSON結構化資料,不方便閱讀。您可以通過使用阿里雲CLI的進階過濾功能,擷取您感興趣的欄位,且預設表格化輸出。
--output選項欄位說明
為了使命令輸出結果更直觀,阿里雲CLI提供了--output選項,您可以使用該選項提取返回結果中感興趣的欄位,且預設以表格形式輸出。
--output選項包含以下欄位:
欄位名 | 描述 | 樣本值 |
cols | 表格列名。 使用
|
|
rows | 待過濾資料所在的JMESPath路徑。 阿里雲CLI將通過JMESPath查詢語句來指定表格行在JSON結果中的資料來源。 | rows="Instances.Instance[]" |
num | 開啟行號顯示。 指定該欄位為 | num="true" |
過濾樣本
樣本情境
阿里雲產品的查詢介面會返回JSON結構化資料,不方便閱讀。
以查詢所有ECS執行個體資訊為例,執行如下命令。
aliyun ecs DescribeInstances系統顯示類似如下輸出結果(部分省略)。
{ "PageNumber": 1, "TotalCount": 2, "PageSize": 10, "RequestId": "2B76ECBD-A296-407E-BE17-7E668A609DDA", "Instances": { "Instance": [ { "ImageId": "ubuntu_16_0402_64_20G_alibase_20171227.vhd", "InstanceTypeFamily": "ecs.xn4", "VlanId": "", "InstanceId": "i-1234567891234567****", "Status": "Stopped", "SecurityGroupIds": { "SecurityGroupId": [ "sg-bp12345678912345****", "sg-bp98765432198765****" ] } }, { "ImageId": "ubuntu_16_0402_64_20G_alibase_20171227.vhd", "InstanceTypeFamily": "ecs.xn4", "VlanId": "", "InstanceId": "i-abcdefghijklmnop****", "Status": "Running", "SecurityGroupIds": { "SecurityGroupId": [ "sg-bp1abcdefghijklm****", "sg-bp1zyxwvutsrqpon****" ] } } ] } }
樣本一
執行如下命令,過濾樣本情境返回結果中的欄位
RequestId。該欄位作為根項目,無需指定rows欄位。aliyun ecs DescribeInstances --output cols=RequestId系統顯示類似如下輸出結果。
RequestId --------- 2B76ECBD-A296-407E-BE17-7E668A609DDA
樣本二
執行如下命令,過濾樣本情境返回結果中的欄位
InstanceId以及Status。這兩個欄位所在的JMESPath路徑為Instances.Instance[],則rows="Instances.Instance[]"。具體JMESPath書寫方法,請參見JMESPath Tutorial。aliyun ecs DescribeInstances --output cols="InstanceId,Status" rows="Instances.Instance[]"系統顯示類似如下輸出結果。
InstanceId | Status ---------- | ------ i-12345678912345678123 | Stopped i-abcdefghijklmnopqrst | Running如果需要輸出行號,則指定
num=true,系統顯示類似如下輸出結果。Num | InstanceId | Status --- | ---------- | ------ 0 | i-12345678912345678123 | Stopped 1 | i-abcdefghijklmnopqrst | Running
樣本三
執行如下命令,過濾樣本情境返回結果中的數群組類型欄位
SecurityGroupId的具體元素。數組所在的JMESPath路徑為Instances.Instance[].SecurityGroupIds.SecurityGroupId。aliyun ecs DescribeInstances --output cols="sg1:0,sg2:1" rows="Instances.Instance[].SecurityGroupIds.SecurityGroupId"系統顯示類似如下輸出結果。
sg1 | sg2 --- | --- sg-bp11234567891234**** | sg-bp19876543219876**** sg-bp1abcdefghijklm**** | sg-bp1zyxwvutsrqpon****