aws 描述实例查询标签

Sha*_*ame 3 amazon-ec2 amazon-web-services aws-cli

我正在尝试过滤我的描述实例的输出,以显示以下内容:
- instanceId
- Device + Volume - Tag[Key==Name]

我的表达是

 aws ec2 describe-instances --filters Name=instance-state-name,Values=running --query "Reservations[*].Instances[].[InstanceId, BlockDeviceMappings[*].{DeviceName:DeviceName,VolumeName:Ebs.VolumeId}, Tags[*]]"
Run Code Online (Sandbox Code Playgroud)

但这给了我显示所有标签的输出。如何将其更改为仅“名称”标签?

ata*_*lor 7

您正在寻找 JMESPath过滤器表达式。尝试这个:

aws ec2 describe-instances \
    --filters Name=instance-state-name,Values=running \
    --query 'Reservations[*].Instances[].[InstanceId, BlockDeviceMappings[*].{DeviceName:DeviceName,VolumeName:Ebs.VolumeId}, Tags[?Key==`Name`]]'
Run Code Online (Sandbox Code Playgroud)


小智 7

这对我有用

aws ec2 describe-instances --filters  "Name=instance-state-name,Values=running" --query 'Reservations[].Instances[].[ [Tags[?Key==`Name`].Value][0][0],[Tags[?Key==`tag_component_name`].Value][0][0] ]' --output json --profile myprofile --region us-east-1
Run Code Online (Sandbox Code Playgroud)

确保更改 --output、--profile 和 --region 参数