我可以$QUERY
在以下满足以下条件的命令中使用什么:
aws ec2 describe-instances --query $QUERY
- 仅打印
aws:cloudformation:stack-name
标签等于 的实例test-stack
。 - 仅打印
InstanceId
每个实例的属性。 - 不诉诸管道、
for
环或其他外壳花哨。
我可以$QUERY
在以下满足以下条件的命令中使用什么:
aws ec2 describe-instances --query $QUERY
aws:cloudformation:stack-name
标签等于 的实例test-stack
。InstanceId
每个实例的属性。for
环或其他外壳花哨。这里有几个参数可以使用:
查询
--query
( docs ) 仅用于检索InstanceId
按堆栈名称标签过滤
--filter
( docs ) 用于排除未标记堆栈名称的实例
tag-key - 分配给资源的标签的键。此过滤器独立于标签值过滤器。例如,如果您同时使用过滤器“tag-key=Purpose”和过滤器“tag-value=X”,您将获得分配了标签键目的(无论标签的值是什么)和标签的任何资源值 X(不管标签的键是什么)。如果您只想列出目的为 X 的资源,请参阅标签 :key = value过滤器。
tag-value - 分配给资源的标签值。此过滤器独立于标签键过滤器。
格式化
--output
( docs ) 仅返回您查询的值(因此没有引号或 json/table 绒毛)
文本格式将 AWS CLI 的输出组织成制表符分隔的行。它适用于传统的 Unix 文本工具,例如 grep、sed 和 awk,以及 Windows PowerShell。
像这样使用这些参数:
aws ec2 describe-instances \
--query "Reservations[*].Instances[*].InstanceId[]" \
--filters "Name=tag-key,Values=aws:cloudformation:stack-name" "Name=tag-value,Values=test-stack" \
--output=text
回报:
i-sd64f52a i-das5d64a i-sad56d4