我需要列出使用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"
}
],
我在做什么错了?
答案 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