aws describe-instances 查询标签

aws describe-instances query tags

我正在尝试过滤描述实例的输出以显示以下内容:
- instanceId
- 设备+音量 - 标签[键==名称]

我的表达是

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

但这给了我显示所有标签的输出。我怎样才能将其更改为仅 "Name" 标签?

您正在寻找 JMESPath Filter Expression。试试这个:

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

这对我有用

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

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

检查带有特定标签的实例。

aws --profile account1 ec2 describe-instances \
--filters "Name=tag-key,Values=Product" "Name=tag-value,Values=test" \
--region ap-southeast-1 --output table