【发布时间】:2021-03-07 16:35:45
【问题描述】:
我在通过 AWS CLI 获取特定的删除项目请求时遇到问题。
这是我想要做的:
- 对我的 DynamoDB 表执行扫描操作,以返回与不是分区键的字段上的过滤器表达式匹配的所有结果
- 对于与此查询匹配的所有项目,将其从表中删除
这是我要运行的命令..
aws dynamodb scan \
--filter-expression "EnvironmentGroup = :EnvironmentGroup" \
--expression-attribute-values '{":EnvironmentGroup":{"S":"deleteThisGroup"}}' \
--table-name "MyTable"
--query "Items[*]" \
# use jq to get each item on its own line
| jq --compact-output '.[]' \
# replace newlines with null terminated so
# we can tell xargs to ignore special characters
| tr '\n' '\0' \
| xargs -0 -t -I keyItem \
# use the whole item as the key to delete (dynamo keys *are* dynamo items)
aws dynamodb delete-item --table-name "MyTable" --key=keyItem
所以在上面的示例中,我想对MyTable 表执行扫描并返回所有将EnvironmentGroup 字段设置为deleteThisGroup 的项目。然后,我希望从表中删除这些项目中的每一个。
这对我不起作用。如果我取出 delete-item 行,该命令将起作用并返回所有项目的列表,但如果我重新添加 delete-item,我会得到 Error parsing parameter '--key': Expected: '=', received: 'EOF' for input: keyItem
我在这里做错了什么?
【问题讨论】:
标签: amazon-web-services nosql amazon-dynamodb aws-cli dynamodb-queries