私が達成しようとしていること
を使用して、ルート ブロック デバイスのボリューム ID を抽出したいと考えていdescribe-instances
ます。
これまでに試したこと
aws ec2 describe-instances --filters "Name=tag:Backup,Values=True" --query 'Reservations[].Instances[].{Name: Tags[?Key==`Name`].Value | [0], Id: InstanceId, Block: BlockDeviceMappings[?DeviceName==RootDeviceName].Ebs.VolumeId, Test: RootDeviceName}'
機能していないもの
いくつかのこと:
Ebs.VolumeId
は の直系の子孫ではなく、 の子孫DeviceName
ですBlockDeviceMappings
。RootDeviceName
の子孫ではありませんBlockDeviceMappings
。
したがって、 を引っ張ってRootDeviceName
検索しようとするとVolumeId
、空白のフィールドが表示されます (Block: はテスト用であり、ケースとは関係ありません)。
最初の 2 つのフィールドは正しいです。
前もって感謝します!