Aws-cliバージョン1.7.8を使用して--query
出力を取得し、複数の行から派生した1つのレコードを作成しています。この場合、describe-instances
から特定の情報を取得しようとしています。
describe-instances
コマンドでは、RESERVATIONS
、INSTANCES
、および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つのコマンドの同等の出力を単一のコマンドから取得できますか?
aws ec2 describe-instances --instance-id i-77777777 \
--query 'Reservations[*].Instances[*].[InstanceId,ImageId,Tags[*]]' \
--output text
このコマンドは、インスタンスID、AMI ID、キーおよび値タグを出力します。より多くの例をここに見ることができます: AWSコマンドラインインターフェイスからのコマンド出力の制御
Windows(cmd.exe、cmder.exeなど)では、クエリ文字列を一重引用符( ')ではなく二重引用符( ")で囲む必要があります。それ以外の場合、コンソールはクエリ内のパスを出力するだけで、エラーを生成します。