全部產品
Search
文件中心

Alibaba Cloud CLI:過濾且表格化輸出結果

更新時間:Jul 03, 2024

阿里雲產品的查詢介面會返回JSON結構化資料,不方便閱讀。您可以通過使用阿里雲CLI的進階過濾功能,擷取您感興趣的欄位,且預設表格化輸出。

--output選項欄位說明

為了使命令輸出結果更直觀,阿里雲CLI提供了--output選項,您可以使用該選項提取返回結果中感興趣的欄位,且預設以表格形式輸出。

--output包含以下欄位:

欄位名

描述

補充說明

cols

表格的列名,需要與JSON資料中的欄位相對應。

例如,ECS DescribeInstances介面返回結果中的欄位InstanceId以及Status。

rows

指定過濾欄位所在的JMESPath路徑。

通過JMESPath查詢語句來指定表格行在JSON結果中的資料來源。

num

指定num=true,開啟行號列,行號以數字0開始。

預設num=false

樣本情境

阿里雲產品的查詢介面會返回JSON結構化資料,不方便閱讀。

  1. 以查詢所有ECS執行個體資訊為例,執行如下命令。

    aliyun ecs DescribeInstances
  2. 系統顯示類似如下輸出結果。

    {
      "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
          }
        ]
      }
    }

樣本命令

樣本一

  1. 執行如下命令,過濾樣本情境返回結果中的欄位RequestId。該欄位作為根項目,無需指定為rows欄位。

    aliyun ecs DescribeInstances --output cols=RequestId
  2. 系統顯示類似如下輸出結果。

    RequestId
    ---------
    2B76ECBD-A296-407E-BE17-7E668A609DDA

樣本二

  1. 執行如下命令,過濾樣本情境返回結果中的欄位InstanceId以及Status。這兩個欄位所在的JMESPath路徑為Instances.Instance[],則rows="Instances.Instance[]"。具體JMESPath書寫方法,請參見JMESPath Tutorial

    aliyun ecs DescribeInstances --output cols="InstanceId,Status" rows="Instances.Instance[]"
  2. 系統顯示類似如下輸出結果。

    InstanceId             | Status
    ----------             | ------
    i-12345678912345678123 | Stopped
    i-abcdefghijklmnopqrst | Running
  3. 如果需要輸出行號,則指定num=true,系統顯示類似如下輸出結果。

    Num | InstanceId             | Status
    --- | ----------             | ------
    0   | i-12345678912345678123 | Stopped
    1   | i-abcdefghijklmnopqrst | Running