我想获取实例ID和名称标签的值,这不起作用:
aws ec2 describe-instances --filters 'Name=tag:Name,Values=InstaneNameTagPrefix*' --query 'Reservations[*].Instances[*].{InstanceId:InstanceId,Tags:Tags.Key=Name}'
答案 0 :(得分:1)
在完成this的JMESPath示例之后,我能够使其工作。试试这个,让我知道它在您的末端如何。
aws ec2 describe-instances --filters 'Name=tag:Name,Values=myDevEC2*' --query 'Reservations[*].Instances[*].{InstanceId:InstanceId,Tags:Tags[?Key == `Name`] | [0].Value}'
输出-
[
[
{
"InstanceId": "i-xxxxxxxxxxxxxx",
"Tags": "myDevEC2-123"
}
]
]
由于Tags
是一个数组,因此您需要过滤为仅“名称”对。之后,通过管道发送标签结果,然后选择Value
。
PS-您可能想将JSON输出第二个元素重命名为InstanceName
而不是Tags
:)