如何为AWS CLI的describe-instances查询添加所有者邮箱字段?
EC2实例查询命令添加所有者邮箱标签字段问题
我使用AWS CLI的aws ec2 describe-instances命令查询账户内EC2实例,目前已能获取公网IP(PublicIP)、实例类型(Type)、实例名称(Name)、实例状态(Status)信息,但无法在结果中添加所有者邮箱标签字段。当前使用的命令如下:
aws ec2 describe-instances \ --query "Reservations[*].Instances[*].{PublicIP:PublicIpAddress,Type:InstanceType,Name:Tags[?Key=='Name']|[0].Value,Status:State.Name}" \ --filters "Name=instance-state-name,Values=*" "Name=tag:Name,Values='*'" \ --output table
解决方案
要添加所有者邮箱标签字段,只需在--query参数的字段映射中,按照提取Name标签的相同语法,新增对应邮箱标签的提取规则即可。假设你的所有者邮箱标签键为OwnerEmail,修改后的命令如下:
aws ec2 describe-instances \ --query "Reservations[*].Instances[*].{PublicIP:PublicIpAddress,Type:InstanceType,Name:Tags[?Key=='Name']|[0].Value,OwnerEmail:Tags[?Key=='OwnerEmail']|[0].Value,Status:State.Name}" \ --filters "Name=instance-state-name,Values=*" "Name=tag:Name,Values='*'" \ --output table
说明
- 如果你的所有者邮箱标签键不是
OwnerEmail,请将命令中的OwnerEmail替换为实际的标签键(比如Owner-Email或Email等)。 - 语法
Tags[?Key=='XXX']|[0].Value的作用是从实例的标签列表中过滤出键为XXX的标签,然后取第一个匹配标签的值。如果实例没有该标签,结果中对应字段会显示为None。
内容的提问来源于stack exchange,提问作者Cody Dacosta
相关产品推荐
相关产品推荐

