在AWS Query中列出EBS VolumeID和实例ID

时间:2018-08-01 14:27:20

标签: amazon-web-services aws-cli

我需要列出使用AWS cli的EBS VolumeID及其附加到的实例。这是我使用的行:

 aws ec2 describe-volumes --output text --query 'Volumes[*].{VolumeID:VolumeId, Instance:InstanceId}' | head -5
None    vol-07210e47
None    vol-743d1234
None    vol-933d12d3
None    vol-493c1309
None    vol-1e3b145e

由于某些原因,实例ID显示为无。当命令的未过滤输出显示它们在那里时:

 aws ec2 describe-volumes | head -25
{
    "Volumes": [
        {
            "AvailabilityZone": "us-east-1d", 
            "Attachments": [
                {
                    "AttachTime": "2013-09-05T15:17:39.000Z", 
                    "InstanceId": "i-c28e20ae", 
                    "VolumeId": "vol-07210e47", 
                    "State": "attached", 
                    "DeleteOnTermination": false, 
                    "Device": "/dev/sda1"
                }
            ], 

我在做什么错了?

1 个答案:

答案 0 :(得分:3)

您不是要查询附件。这对我有用:

aws ec2 describe-volumes --output text --query 'Volumes[*].Attachments[].{VolumeID:VolumeId,InstanceID:InstanceId}'

这是一个很好的链接:

https://docs.aws.amazon.com/cli/latest/userguide/controlling-output.html