すべてのプロダクト
Search
ドキュメントセンター

Alibaba Cloud CLI:パラメーターを抽出し、表形式で出力する

最終更新日:Jan 17, 2025

Alibaba Cloud のクエリ操作のレスポンスパラメーターは JSON 形式です。このトピックでは、Alibaba Cloud CLI を使用して JSON レスポンスからパラメーターを抽出する方法について説明します。デフォルトでは、Alibaba Cloud CLI は抽出されたパラメーターを表形式で表示します。

--output オプションの説明

抽出されたパラメーターを視覚的に表示するために、Alibaba Cloud CLI は --output オプションを提供しています。 --output オプションを使用すると、レスポンスパラメーターから必要なパラメーターを抽出できます。デフォルトでは、出力は表形式で表示されます。

次の表は、--output オプションに含まれるパラメーターについて説明しています。

パラメーター

説明

追加情報

cols

表の列名。名前は JSON レスポンスの対応するパラメーターと同じである必要があります。

たとえば、Elastic Compute Service (ECS) の DescribeInstances 操作は、InstanceId パラメーターと Status パラメーターを返します。

rows

パラメーターが配置されている JMESPath パスを指定します。

JMESPath クエリ文は、JSON レスポンスパラメーターの表の行のデータソースを指定するために使用されます。

num

このパラメーターを true に設定すると、行番号列を有効にできます。行番号は 0 から始まります。

デフォルト値: false

シナリオ

Alibaba Cloud のクエリ操作のレスポンスパラメーターは 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

  1. 次のコマンドを実行して、前のシナリオで返された RequestId パラメーターを抽出します。このパラメーターはルート要素です。この場合、rows パラメーターを指定する必要はありません。

    aliyun ecs DescribeInstances --output cols=RequestId
  2. 出力例:

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

例 2

  1. 次のコマンドを実行して、前のシナリオで返された InstanceId パラメーターと Status パラメーターを抽出します。 2 つのパラメーターの JMESPath パスは Instances.Instance[] なので、rows を Instances.Instance[] に設定します。 JMESPath 式の詳細については、「JMESPath チュートリアル」をご参照ください。

    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