4

我可以$QUERY在以下满足以下条件的命令中使用什么:

aws ec2 describe-instances --query $QUERY
  1. 仅打印aws:cloudformation:stack-name标签等于 的实例test-stack
  2. 仅打印InstanceId每个实例的属性。
  3. 不诉诸管道、for环或其他外壳花哨。
4

1 回答 1

5

这里有几个参数可以使用:

查询

--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
于 2014-11-04T10:54:58.923 回答