web-dev-qa-db-ja.com

AWS CLIコマンドライン:「--query」を使用して複数のソース行を出力する方法

Aws-cliバージョン1.7.8を使用して--query出力を取得し、複数の行から派生した1つのレコードを作成しています。この場合、describe-instancesから特定の情報を取得しようとしています。

describe-instancesコマンドでは、RESERVATIONSINSTANCES、およびTAGSを参照する行/セクションを取得します。

新しいAWS CLIコマンドを実行して、3行すべてから個別に情報を取得できます。

予約ライン:

aws ec2 describe-instances --instance-ids i-xxxxxxxx --query 'Reservations[*].ReservationId'

INSTANCE行:

aws ec2 describe-instances --instance-ids i-xxxxxxxx --query 'Reservations[*].[Instances[*].[InstanceId,ImageId]]'

タグライン:

aws ec2 describe-instances --instance-ids i-xxxxxxxx --query 'Reservations[].Instances[].[Tags[?Key==名前]]'

これらの3つのコマンドを実行し、結果を連結して1つのレコードを作成できます。

これを3つの異なるコマンドではなく、1つのコマンドとして実行できる方法があるかどうか誰かが知っていますか?

PIPEやその他の形式の構文を試しましたが、現時点では良い解決策を見つけることができません。

これら3つのコマンドの同等の出力を単一のコマンドから取得できますか?

11
Chris Charles
aws ec2 describe-instances --instance-id i-77777777 \
  --query 'Reservations[*].Instances[*].[InstanceId,ImageId,Tags[*]]' \
  --output text

このコマンドは、インスタンスID、AMI ID、キーおよび値タグを出力します。より多くの例をここに見ることができます: AWSコマンドラインインターフェイスからのコマンド出力の制御

21
Peycho Dimitrov

Windows(cmd.exe、cmder.exeなど)では、クエリ文字列を一重引用符( ')ではなく二重引用符( ")で囲む必要があります。それ以外の場合、コンソールはクエリ内のパスを出力するだけで、エラーを生成します。

1
Jason