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 | このパラメーターを | デフォルト値: |
シナリオ
Alibaba Cloud のクエリ操作のレスポンスパラメーターは 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 } ] } }
サンプルコマンド
例 1
次のコマンドを実行して、前のシナリオで返された
RequestId
パラメーターを抽出します。このパラメーターはルート要素です。この場合、rows
パラメーターを指定する必要はありません。aliyun ecs DescribeInstances --output cols=RequestId
出力例:
RequestId --------- 2B76ECBD-A296-407E-BE17-7E668A609DDA
例 2
次のコマンドを実行して、前のシナリオで返された
InstanceId
パラメーターとStatus
パラメーターを抽出します。 2 つのパラメーターの JMESPath パスはInstances.Instance[]
なので、rows をInstances.Instance[]
に設定します。 JMESPath 式の詳細については、「JMESPath チュートリアル」をご参照ください。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