AWS CLI:"delete-item" 请求问题
AWS CLI : Issue with "delete-item" request
我在通过 AWS CLI 获取特定删除项目请求时遇到问题。
这是我正在尝试做的事情:
- 对我的 DynamoDB 执行扫描操作 table 到 return 所有与不是分区键的字段上的过滤器表达式相匹配的结果
- 对于与此查询匹配的所有项目,将它们从 table
中删除
这是我正在尝试的命令 运行..
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' '[=11=]' \
| 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
table 和 return 所有 EnvironmentGroup
字段设置为 [= 的项目执行扫描14=]。然后我希望从 table.
中删除这些项目中的每一个
这对我不起作用。如果我取出 delete-item 行,该命令有效并且 returns 是所有项目的列表,但如果我重新添加 delete-item,我得到 Error parsing parameter '--key': Expected: '=', received: 'EOF' for input: keyItem
我做错了什么?
delete-item是删除一项
如果要删除多个项目,请使用 batch-write-item
我在通过 AWS CLI 获取特定删除项目请求时遇到问题。
这是我正在尝试做的事情:
- 对我的 DynamoDB 执行扫描操作 table 到 return 所有与不是分区键的字段上的过滤器表达式相匹配的结果
- 对于与此查询匹配的所有项目,将它们从 table 中删除
这是我正在尝试的命令 运行..
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' '[=11=]' \
| 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
table 和 return 所有 EnvironmentGroup
字段设置为 [= 的项目执行扫描14=]。然后我希望从 table.
这对我不起作用。如果我取出 delete-item 行,该命令有效并且 returns 是所有项目的列表,但如果我重新添加 delete-item,我得到 Error parsing parameter '--key': Expected: '=', received: 'EOF' for input: keyItem
我做错了什么?
delete-item是删除一项 如果要删除多个项目,请使用 batch-write-item