首页 > 解决方案 > AWS CLI 命令根据 EC 标签名称查询 ebs volume-id

问题描述

需要一些帮助来修复此查询

aws ec2 describe-instances --filters "Name=tag:Name,Values=UST1TWASDEVP02A" --query "Reservations[*].Instances[*].BlockDeviceMappings[*].Ebs.[VolumeId]"

这一直给我这个输出:

[
    [
        [
            [
                "vol-0eb27ed4482aa6b72"
            ],
            [
                "vol-0a8a5716d4abb92cc"
            ],
            [
                "vol-0adb47a85b3541697"
            ]
        ]
    ]
]

我只需要提取第二个值。

我能够使用 jq 来获得结果

aws ec2 describe-instances --filters Name=tag:Name,Values=UST1TWASDEVP02A" | jq -r .Reservations[0].Instances[0].BlockDeviceMappings[1].Ebs.VolumeId

谢谢

标签: jsonamazon-web-servicesaws-cli

解决方案


您可以使用以下命令打印第二个 volumeID:

aws ec2 describe-instances --filters "Name=tag:Name,Values=UST1TWASDEVP02A" --query "Reservations[ ].Instances[ ].BlockDeviceMappings[*].[Ebs.VolumeId]" --output text | sed -n '2p'


推荐阅读