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
指定要显示的数据。
这将仅列出未加密的卷并显示 VolumeId
和 application
标签的值:
aws ec2 describe-volumes --filters Name=encrypted,Values=false --query 'Volumes[].[VolumeId,Tags[?Key==`application`]|[0].Value]' --output text
根据您的操作系统,您可能需要使用引号。
我想使用 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
指定要显示的数据。
这将仅列出未加密的卷并显示 VolumeId
和 application
标签的值:
aws ec2 describe-volumes --filters Name=encrypted,Values=false --query 'Volumes[].[VolumeId,Tags[?Key==`application`]|[0].Value]' --output text
根据您的操作系统,您可能需要使用引号。