我在亚马逊内找不到这方面的文档:有谁知道删除操作是否会影响您的读取或写入容量?
我原以为它会被视为“写入”,但我在测试中看到的行为似乎表明相反的情况。有人可以确认一下吗?
好问题 - 虽然这似乎没有明确指定,但仍然有两个强烈的暗示被视为写入操作(确实如人们所期望的那样):
1) Amazon DynamoDB 中的预配置吞吐量指南中的时间序列数据和访问模式部分解决了高效删除问题并提到了受影响的写入吞吐量:
删除整个表比删除效率更高 一个接一个的项目,这实际上使写入吞吐量加倍 您执行的删除操作与放置操作一样多。
2) DeleteItem API中的Responses部分列出了返回值ConsumedCapacityUnits并指的是写入容量单位:
操作消耗的写入容量单位数。这 值显示应用于您的预配置吞吐量的数字。为了 更多信息请参阅Amazon DynamoDB 中的预配置吞吐量。
是的,确实如此。文档明确指出:
、PutItem
和UpdateItem
允许条件写入,其中 您指定一个表达式,该表达式的计算结果必须为 true 操作才能成功。如果表达式的计算结果为 false,DynamoDB 仍将消耗表中的写入容量单位:DeleteItem
如果该项存在,则消耗的写入容量单位数 取决于物品的大小。(例如,失败的条件 写入 1 KB 项将消耗 1 个写入容量单位;如果 项目大小是该大小的两倍,失败的条件写入将消耗 两个写入容量单位。)
如果该项目不存在,DynamoDB 将 消耗一个写入容量单位。
来源:https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/read-write-operations.html