列出缺少特定标签的卷

List volumes missing specific tags

我正在尝试从缺少特定标签键的 AWS CLI 中列出卷。虽然我可以使用以下命令列出缺少特定密钥的卷。

aws ec2 describe-volumes  --query 'Volumes[?!not_null(Tags[?Key == `MakeSnapshot`].Value)] | [].[VolumeId]' --output text

在查询语句中寻找逻辑或操作,通过它我可以列出所有缺少两个键中的任何一个的卷,类似于此。

aws ec2 describe-volumes  --query 'Volumes[?!not_null(Tags[?Key == `MakeSnapshot|MakeDevSnapshot`].Value)] | [].[VolumeId]' --output text

是否可以在 query/James 路径搜索中执行此类逻辑 AND/OR 操作?

OR 表达式的 JMESPath 规范使用 ||。参考here

试试,

aws ec2 describe-volumes  --query 'Volumes[?!not_null(Tags[?Key == `MakeSnapshot || MakeDevSnapshot`].Value)] | [].[VolumeId]' --output text