我无法在 Amazon 中找到关于此的文档:有谁知道删除操作是否会影响您的读取或写入容量?
我曾预计它会算作“写入”,但我在测试中看到的行为似乎表明相反。有人可以证实这一点吗?
我无法在 Amazon 中找到关于此的文档:有谁知道删除操作是否会影响您的读取或写入容量?
我曾预计它会算作“写入”,但我在测试中看到的行为似乎表明相反。有人可以证实这一点吗?
好问题 - 虽然这似乎没有明确指定,但仍然有两个强烈的暗示可以被视为写入操作(正如人们所期望的那样):
1) Amazon DynamoDB 中的预置吞吐量指南中的部分时间序列数据和访问模式解决了有效删除问题并指的是受影响的写入吞吐量:
删除整个表比逐个删除项目效率高得多,这实际上使写入吞吐量翻倍,因为您执行的删除操作与放置操作一样多。
2) DeleteItem API中的部分Responses列出返回值ConsumedCapacityUnits并指代写入容量单位:
操作消耗的写入容量单位数。此值显示应用于您的预置吞吐量的数字。有关更多信息,请参阅Amazon DynamoDB 中的预置吞吐量。
是的,确实如此。文档清楚地说:
PutItem
,UpdateItem
, 并DeleteItem
允许条件写入,您可以在其中指定一个表达式,该表达式必须计算为真才能使操作成功。如果表达式计算结果为 false,DynamoDB 仍将消耗表中的写入容量单位:
如果项目存在,则消耗的写入容量单位数取决于项目的大小。(例如,1 KB 项目的条件写入失败将消耗一个写入容量单位;如果该项目是该大小的两倍,则失败的条件写入将消耗两个写入容量单位。)
如果该项不存在,DynamoDB 将消耗一个写入容量单位。