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


12

我正在使用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和其他形式的语法,但是到目前为止,我还找不到一个好的解决方案。

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


从Windows中的Powershell提示符运行Windows命令。然后它将返回结果。
Patrick Parks

Answers:


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

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


添加有关该命令正在执行的操作的简短描述可能会有所帮助。
dawud 2015年

只能在非基于Windows的CLI中工作吗?我在Windows CMD中试过-没错,但是-在CentOS中-起作用了。
Naveen Vijay

有关查询语法的一些文档在哪里???
cosbor11 '16


AWS文档只有几个示例。没有完整的语法规范吗?
cosbor11 '02

1

在Windows(cmd.exe,cmder.exe等)中,必须在查询字符串周围使用双引号(“)而不是单引号(')。否则,控制台只会在查询中打印路径,甚至不会产生错误。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.