使用 AWS CLI --query 选项过滤一维数组

Use AWS CLI --query option to filter a 1-dimensional array

是否可以使用 AWS CLI 的 --query 选项(描述 here)来过滤一维数组?我可以在 AWS 网站上找到的所有示例都非常适合地图——但我无法弄清楚简单数组的语法。

考虑在输出中有一个字符串数组的 dynamodb list-tables 命令:

aws dynamodb list-tables

示例输出:

{
    "TableNames": [
        "Questions", 
        "Answers",
        "Votes"
    ]
}

假设我想弄清楚 TableNames 是否包含 "Answers"。我试过的语法无效或不起作用。

aws dynamodb list-tables --query 'TableNames[?==`Answers`]'
aws dynamodb list-tables --query 'TableNames[?.==`Answers`]'
aws dynamodb list-tables --query '[?TableNames[*]==`Answers`]'

要引用数组中的当前元素,可以使用 @ 字符:

$ aws dynamodb list-tables  --query "TableNames[? @ == 'Answers' ]"
[
    "Answers"
]

如果您只需要 "does this table name exist in the list of tables" 的 true/false 答案,您还可以使用:

$ aws dynamodb list-tables  --query "contains(TableNames, 'Answers')"
true