OSXやLinuxなどのシェルスクリプトから実行するもののため、Unixベースの開発を行なっている場合にはAWSの操作をコーディングするのに強力なツールとなります。CLIを初めて使用した際には解りづらい部分もあります。CLIの–queryを表示形式を指定する機能について書き方・記述例を備忘録として記載したいと思います。CLIには–filtersという機能で検索条件を指定して結果を絞り込む機能がありますが、–queryにも同様のことができる機能があります。この点については今回は記載せず、別の機会に説明したいと思います。CLIの–queryに指定するクエリパラメタの書き方・記述方法の例を記載します。–queryで検索結果の表示形式を指定して必要な要素を表示するために重要になるのが、検索結果の返却値の構造になります。CLIコマンドリファレンスの「Output」という項目部分に記載されています。LinuxのAMIを検索対象にして–queryの記述例を記載したいと思います。CLIの検索結果が1件の場合の例まずはAMIを1件のみ指定して–queryの例を示したいと思います。CLIコマンドリファレンスの「Output」の構造説明でわかりにくい場合は検索結果が1件になるようにして、このように実際に検索して具体的な構造を把握することも可能です。]}JSON配列「Images」の内容を表示する例。上記のJSON構造のようにImagesは配列内に要素を持つ形なのでImagesの内容を表示するにはImages[]と[]をつけて配列型で示す必要があります。上記のJSON構造のようにImagesの内容はBlockDeviceMappings以外配列構造ではないので項目名を指定することで表示できます。Images配列内のName項目を表示するにはImages[].Nameと指定します。Name}のように指定します。Name}}のように指定します。今回の例の場合Images配列の要素は1個で、Imagesの配列要素を1つのみ取り出して配列構造ではない表記にすることもできます。そのためにはImages[0]のように配列の要素を指定します。Name」をつけて表示する例Imagesの配列要素を1つのみ取り出して配列構造ではない表記にし、Name項目にキー名をつけて出力します。"amzn-ami-hvm-2015.09.1.x86_64-gp2"}続いてはImages配列内のName項目に加えてImageIdという項目を表示する例を記載していきますが、基本的には上記で説明したNameのみの項目の表示と同様です。続いてはJSON配列「Images」に複数要素が入っている例の–queryの記述例を見ていきたいと思います。JSON配列「Images」内に入れ子になっているJSON配列「BlockDeviceMappings」の表示の仕方についても記述例を記載しました。要素をわかりやすくするために今回は–filtersの機能を使用して検索結果を2件に絞り込んでいます。–filtersの記述方法については別途記載する機会を作りたいと思いますが、基本的にはNameに検索する対象の項目名、Valuesに検索条件を記入して検索します。余談ですが、–queryでも–filtersと同じように検索条件を指定して検索結果を絞り込む機能もあるのですが、今回は検索結果の表示形式の部分に特化して説明しています。項目名については–queryで使用する返却結果の構造と同様にCLIのリファレンスの「–filters」の部分に記載されています。Name」「EBS」をつけて表示する例JSON配列「Images」に入れ子で入っているJSON配列「BlockDeviceMappings」の内容はそのまま表示。Name」「EBS」をつけて表示する例JSON配列「Images」に入れ子で入っているJSON配列「BlockDeviceMappings」の内容は複数要素(VolumeType、VolumeSize)にそれぞれキー名「VolType」「VolSize」をつけて表示。Name」と同じ階層に直接呼び出す。Name」と同じ階層に直接呼び出す。