AWS CLI - 列出未加密的卷并筛选结果 --query

AWS CLI - List Unencrypted Volumes and Filter Results --query

我想使用 AWS CLI 列出所有未加密的卷以及标签键 'application' 的关联标签键值。我很难让 -query 部分正确进行所需的过滤。如果我 运行:

aws ec2 describe-volumes --filters Name=encrypted,Values=false Name=tag-key,Values=application

我得到了所有我不想要的卷信息。如果我添加如下所示的 --query,我只会得到标签键值。我也想要 VolumeId,但多次尝试后我无法获得正确的语法。

aws ec2 describe-volumes --filters Name=encrypted,Values=false Name=tag-key,Values=application --query 'Volumes[].[ [Tags[?Key==`application`].Value][0][0],[Tags[?Key==`tag_component_name`].Value][0][0] ]'

同样,我只想为所有未加密的卷输出 VolumeID 和标签密钥 'application' 的标签密钥值。

使用--filters限制返回哪些资源,并使用--query指定要显示的数据。

这将仅列出未加密的卷并显示 VolumeIdapplication 标签的值:

aws ec2 describe-volumes --filters Name=encrypted,Values=false --query 'Volumes[].[VolumeId,Tags[?Key==`application`]|[0].Value]' --output text

根据您的操作系统,您可能需要使用引号。