Jef*_*.D. 3 amazon-ec2 amazon-web-services aws-cloudformation aws-cli
我可以$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