我正在尝试通过aws-cli编译我的AWS账户中EC2实例的完整列表。我正在成功查询除每个实例的关联安全组以外的所有内容。当我尝试提取安全组名称时,它的名称为None。下面是我运行的命令。我也尝试过“组”。
aws ec2 describe-instances --region=us-west-2 --query 'Reservations[*].Instances[*].[Tags[?Key==`Name`].Value|[0],InstanceId,Placement.AvailabilityZone,State.Name,KeyName,SecurityGroups.GroupName]' --output table
答案 0 :(得分:1)
这是因为每个实例可能分配有多个安全组,因此SecurityGroups
是一个数组。您可以执行以下操作来访问数组中的第一个元素:
SecurityGroups.GroupName
您将这样做:
SecurityGroups[0].GroupName
,但这只会向您显示列表中的第一个安全组。如果要查看整个列表,则必须将查询更改为:
aws ec2 describe-instances --region "us-west-2" --query 'Reservations[*].Instances[*].[InstanceId,SecurityGroups[].GroupName |[*]]' --output text