如何使用AWS CLI查询指定EBS卷的多个标签?
AWS CLI查询单个EBS卷多个指定标签的正确写法
原有命令的错误原因:JMESPath 查询语句中链式的筛选条件是逻辑与关系,
Tags[?Key==InstanceName].[?Key==TeamOwner]会先筛选出Key为InstanceName的标签,再在该结果集中筛选Key为TeamOwner的标签,同一个标签对象不可能同时拥有两个不同的Key,因此返回结果为空。
用法1:返回匹配两个Key的标签键值对列表
命令:aws ec2 describe-volumes --volume-ids vol-12345 --query 'Volumes[].Tags[?Key==`InstanceName` || Key==`TeamOwner`].{Key:Key, Value:Value}'用法2:返回扁平结构的标签值,直接对应你要的两个标签名,方便直接读取
命令:aws ec2 describe-volumes --volume-ids vol-12345 --query 'Volumes[].{InstanceName: Tags[?Key==`InstanceName`].Value | [0], TeamOwner: Tags[?Key==`TeamOwner`].Value | [0]}'说明:语句末尾加
| [0]是为了把标签查询返回的单元素数组展开为字符串,避免值被包裹在数组中。如果需要输出纯文本格式而非默认JSON,可在命令末尾追加--output text参数。
内容的提问来源于stack exchange,提问作者user376300
相关产品推荐
相关产品推荐

