私が達成しようとしていること
を使用して、ルート ブロック デバイスのボリューム 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 つのフィールドは正しいです。
前もって感謝します!