Amazon web services aws描述实例查询标记

Amazon web services aws描述实例查询标记,amazon-web-services,amazon-ec2,aws-cli,Amazon Web Services,Amazon Ec2,Aws Cli,我正在尝试过滤我的输出,以显示以下内容: -实例ID -设备+音量 -标记[键==名称] 我的表达是 aws ec2 describe-instances --filters Name=instance-state-name,Values=running --query "Reservations[*].Instances[].[InstanceId, BlockDeviceMappings[*].{DeviceName:DeviceName,VolumeName:Ebs.VolumeId},

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

我的表达是

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

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

您正在寻找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`]]'
这对我有用

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

当我这样做时,我得到了一个“非法令牌值”?Key==
Name
]]”错误。我把它作为回答,因为即使我不能测试它,它也是由于我安装的版本。谢谢你的帮助!同时检查: