【发布时间】:2014-01-09 12:12:06
【问题描述】:
aws cli 有一个 --query 选项,允许您仅选择一些信息。
例如,我有兴趣从 ec2 describe-instances 中获取安全组名称。
如果我跑:
aws ec2 describe-instances --output text --query 'Reservations[*].Instances[*].[InstanceId,InstanceType,SecurityGroups]
我的输出如下:
i-xxxxxxx m1.type [{u'GroupName': 'groupName', u'GroupId': 'sg-xxxxx'}]
我还可以使用索引访问列表的元素:
aws ec2 describe-instances --output text --query 'Reservations[*].Instances[*].[InstanceId,InstanceType,Tags[0].Value,Tags[0].Name]
是否可以查询标签,而不是 Tag[0] 我搜索指定名称的标签?
【问题讨论】:
-
你不能从输出中提取出来吗?
-
@Andrey:我希望有一种方法可以在查询中包含类似 SecurityGroups{Name=Foo} 的内容。另一种方法是使用 json 格式并将其通过管道传输到 jq,但我想先确保我没有遗漏任何东西。
-
但是为什么不直接用 jq 来做呢?
-
如果可以使用两种工具,为什么要使用?
-
我了解,但我正在尝试了解本机命令行工具的功能 - 有没有办法引用列表项的属性?您可以参考结构的属性,并从列表中选择项目,但是可以将两者结合起来吗?
标签: amazon-web-services aws-cli