1

我正在尝试显示所有实例以及附加的安全组、块设备名称及其删除终止状态。我需要以表格格式显示这些数据,但我不断收到以下错误。

请帮助我了解我在这里缺少什么。

PR-MacBook-Pro:~ pr$ aws ec2 describe-instances --output table --query 'Reservations[*].Instances[*].[InstanceId,SecurityGroups[].GroupName,Placement.AvailabilityZone,BlockDeviceMappings[].DeviceName, BlockDeviceMappings[].Ebs.DeleteOnTermination]'

Row should have 1 elements, instead it has 2
PR-MacBook-Pro:~ pr$
4

2 回答 2

3

我在谷歌搜索时遇到了这个问题。

在我做了一些研究后,我发现你必须使用| join(`, `, @)

所以命令将是

aws ec2 describe-instances --output table --query 'Reservations[*].Instances[*].[InstanceId,SecurityGroups[].GroupName | join(`, `, @),Placement.AvailabilityZone,BlockDeviceMappings[].DeviceName | join(`, `, @), BlockDeviceMappings[].Ebs.DeleteOnTermination | join(`, `, to_array(to_string(@)))]'

于 2019-06-19T16:07:39.243 回答
1

如下修改您的命令以使其工作

aws ec2 describe-instances  --output table  --region "us-east-1"  --query 'Reservations[*].Instances[*].[InstanceId,SecurityGroups[].GroupName |[0],Placement.AvailabilityZone,BlockDeviceMappings[].DeviceName |[0], BlockDeviceMappings[].Ebs.DeleteOnTermination|[0] ]'

响应的格式为

[
    [
        "i-xxxxxxxx", 
        [
            "xxxxxx"
        ], 
        "us-east-1a", 
        [
            "/dev/xvda"
        ], 
        [
            true
        ]
    ]
]

所以你需要使用解析数组元素| [0]

于 2017-06-07T14:34:22.047 回答