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

问题描述 投票:0回答:1

我正在尝试在同一行上获取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"
    ]
]
amazon-web-services amazon-ec2 jmespath
1个回答
0
投票

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

aws ec2 describe-instances  --query 'Reservations[*].[OwnerId, Instances[0].Tags[?Key==`StackId`].Value|[0], Instances[0].InstanceId]' --output text
© www.soinside.com 2019 - 2024. All rights reserved.