为什么我的[]不展平我的jmespath数组

时间:2019-11-26 22:06:55

标签: amazon-web-services amazon-ec2 jmespath

我正在尝试在同一行上获取OwnerId,StackId和InstanceId输出。我使用--output-text选项运行以下命令,并将“ some_stack”数据放在不同的行上。

aws ec2 describe-instances --profile 1234 --filters "Name=image-id,Values=ami-asdf" --query 'Reservations[*].[OwnerId, Instances[0].Tags[?Key==`StackId`].Value[], Instances[0].InstanceId]'

当我运行不带--output-text选项的命令时,即使将[]放在.Value上尝试使其变平,我仍可以看到“ some_stack”在数组中。我在做什么错了?

输出:

[
    [
        "1234",
        [
            "some_stack"
        ],
        "i-ghjk"
    ]
]

1 个答案:

答案 0 :(得分:0)

Tags是一个数组,因此您需要使用array | [0]将其展平:

aws ec2 describe-instances  --query 'Reservations[*].[OwnerId, Instances[0].Tags[?Key==`StackId`].Value|[0], Instances[0].InstanceId]' --output text