阿里雲產品的查詢介面會返回JSON結構化資料,不方便閱讀。您可以通過使用阿里雲CLI的進階過濾功能,擷取您感興趣的欄位,且預設表格化輸出。
--output選項欄位說明
為了使命令輸出結果更直觀,阿里雲CLI提供了--output
選項,您可以使用該選項提取返回結果中感興趣的欄位,且預設以表格形式輸出。
--output
包含以下欄位:
欄位名 | 描述 | 補充說明 |
cols | 表格的列名,需要與JSON資料中的欄位相對應。 | 例如,ECS DescribeInstances介面返回結果中的欄位InstanceId以及Status。 |
rows | 指定過濾欄位所在的JMESPath路徑。 | 通過JMESPath查詢語句來指定表格行在JSON結果中的資料來源。 |
num | 指定 | 預設 |
樣本情境
阿里雲產品的查詢介面會返回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-12345678912345678123", "Status": "Stopped", //omit some fields }, { "ImageId": "ubuntu_16_0402_64_20G_alibase_20171227.vhd", "InstanceTypeFamily": "ecs.xn4", "VlanId": "", "InstanceId": "i-abcdefghijklmnopqrst", "Status": "Running", //omit some fields } ] } }
樣本命令
樣本一
執行如下命令,過濾樣本情境返回結果中的欄位
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