我得到的最接近的是使用以下命令。
该命令可列出所有实例名称。
aws ec2 describe-instances --filters Name=vpc-id,Values=vpc-e2f17e8b --query 'Reservations[].Instances[].Tags[?Key==`Name`].Value[]'
该命令可以列出所有不需要的私有IP地址,实例ID和所有标签。我只需要名字。
aws ec2 describe-instances --filters Name=vpc-id,Values=vpc-e2f17e8b | jq '.Reservations[].Instances[] | {PrivateIpAddress, InstanceId, Tags}'
我不确定为什么我不能像这样执行命令:
aws ec2 describe-instances | jq '.["Reservations"]|.[]|.Instances|.[]|.PrivateIpAddress + " " + .InstanceId + " " + .Tags[?Key==`Name`].Value[]'
该命令有效,但显示所有标签键名称。
aws ec2 describe-instances | jq '.["Reservations"]|.[]|.Instances|.[]|.PrivateIpAddress + " " + .InstanceId + " " + .Tags'
1
您只是从某个地方复制这些命令而没有试图了解它们的作用吗?
—
迈克尔·汉普顿
并非如此,我确实尝试了解如何使用jq以及如何获取所需的基本json输出。但是,我找不到要实现的示例。
—
想象者
Name
仅在aws-cli v1.3.0之后,才可以将“ Tags [?Key == ] .Value []”用作关键字名称值的过滤器。我使用--filter和jq的组合来获取所需的输出。最接近的命令是aws ec2 describe-instances --filters名称= vpc-id,值= vpc-e2f17e8b | jq'.Reservations []。Instances [] | {PrivateIpAddress,InstanceId,标签}'我只需要知道如何使用jq引用标签Key = Name。