AWS CLI 命令行:如何使用“--query”输出多个源行

Chr*_*les 14 command-line-interface query amazon-ec2 amazon-web-services

我正在使用 aws-cli 版本 1.7.8 来获取--query输出以创建从多行派生的一条记录。在这种情况下,我试图从describe-instances.

describe-instances命令中,我们得到线/段引用RESERVATIONSINSTANCESTAGS

我可以简单地运行新的 AWS CLI 命令来分别从所有三行中获取信息:

预订专线:

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

实例行:

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 个记录。

有谁知道是否有一种方法可以将它作为一 (1) 个命令运行,而不是 3 个不同的命令?

我已经尝试过 PIPE 和其他形式的语法,但我还没有找到一个好的解决方案。

我可以从单个命令中获得这 3 个命令的等效输出吗?

Pey*_*rov 27

aws ec2 describe-instances --instance-id i-77777777 \
  --query 'Reservations[*].Instances[*].[InstanceId,ImageId,Tags[*]]' \
  --output text
Run Code Online (Sandbox Code Playgroud)

此命令将打印实例 ID、AMI ID、键和值标签。您可以在此处查看更多示例: 从 AWS 命令​​行界面控制命令输出