--query の使い方

出力から必要なところだけ取り出す

書き方

--query 'Reservations[].Instances[].InstanceId'
--query 'Vpcs[0].VpcId' --output text
--query "Reservations[].Instances[?State.Name=='running'].InstanceId"
--query 'Reservations[].Instances[].{ID:InstanceId,Type:InstanceType}'

JMESPath という書き方で JSON を絞り込みます。[] で配列を広げ、[0] で 1 つ目、[?条件] で絞り込み、{名前:式} で形を作ります。手元で絞るので、AWS から返ってくる量は変わりません。

例

$ aws ec2 describe-instances --query 'Reservations[].Instances[].InstanceId' --output text

実際に打って練習する

AWS CLI コースの Lv17「必要なところだけ --query」で覚えます(第3章 雲を見渡す(--query とシェル))。ブラウザの中のシミュレーターで、本物と同じように打って確かめられます。

Lv1〜3 はログインすると無料で試せます(それより先はゴールド以上のプランで遊べます)。

AWS CLI コマンド一覧(使い方と例)へ戻る