如果我执行DynamoDB命令来更新项目并且该项目已经存在并且没有任何要更新的内容,DynamoDB会将其算作写入操作还是读取操作?
在我的情况下,我需要跟踪一个月中是否有某个客户的请求发生,如果有,请写一行。我不需要计数。因此,至多我每个客户每月要写一次行,但是我需要每月进行数千次或可能数百万次的检查。
答案 0 :(得分:1)
DynamoDB始终根据您执行的操作类型收费,因此更新将始终使用WCU。您可以通过执行实验来进行验证,在该实验中您无需进行任何更改即可重复更新现有项目,然后检查消耗的容量。
如果由于ConditionExpression而导致写入失败,则该操作将产生1 WCU的开销。否则,该操作将使用写入整个项目所需的WCU数量,而不考虑更新了多少个属性。