是否可以使用 AWS CLI 的 --query 选项(在此处描述)来过滤一维数组?我可以在 AWS 站点上找到的所有示例都适用于地图——但我无法弄清楚简单数组的语法。
考虑 dynamodb list-tables 命令,它的输出中有一个字符串数组:
aws dynamodb list-tables
Run Code Online (Sandbox Code Playgroud)
示例输出:
{
"TableNames": [
"Questions",
"Answers",
"Votes"
]
}
Run Code Online (Sandbox Code Playgroud)
假设我想弄清楚 TableNames 是否包含“Answers”。我尝试过的语法无效或不起作用。
aws dynamodb list-tables --query 'TableNames[?==`Answers`]'
aws dynamodb list-tables --query 'TableNames[?.==`Answers`]'
aws dynamodb list-tables --query '[?TableNames[*]==`Answers`]'
Run Code Online (Sandbox Code Playgroud)
要引用数组中的当前元素,可以使用以下@字符:
$ aws dynamodb list-tables --query "TableNames[? @ == 'Answers' ]"
[
"Answers"
]
Run Code Online (Sandbox Code Playgroud)
如果您只需要“表列表中是否存在此表名称”的真/假答案,您还可以使用:
$ aws dynamodb list-tables --query "contains(TableNames, 'Answers')"
true
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2867 次 |
| 最近记录: |