基于 DynamoDb 文档,为什么有人会使用 updateItem
而不是 putItem
?
PutItem
- 将单个项目写入表。如果表中存在具有相同主键的项目,则操作替换该项目。对于计算预配置吞吐量消耗,重要的项目大小是两者中较大的一个。 UpdateItem
- 修改表格中的单个项目。 DynamoDB 会考虑更新前后项目的大小。消耗的预配置吞吐量反射(reflect)了这些项目大小中较大的一个。即使您只更新项目属性的一个子集,UpdateItem
仍将消耗全部预配置吞吐量(“之前”和“之后”项目大小中的较大者)。 最佳答案
两者的主要区别在于,PutItem 会将 替换为 整个项目而 UpdateItem 会将 更新为 它。
例如。
我有一个项目,如:
userId = 1
Name= ABC
Gender= Male
如果我使用 PUT 项目
UserId = 1
Country = India
这将替换 Name 和 Gender,现在新的 Item 是 UserId 和 Country。
而如果你想从
Name = ABC to Name = 123
更新一个项目,你必须使用 UpdateItem您可以使用 Put 项目来更新它,但您需要发送所有参数,而不仅仅是要更新的参数,因为它会用新属性替换项目。(在内部,它删除项目并添加新项目)
希望这是有道理的。
关于amazon-web-services - DynamoDb PutItem 与 UpdateItem 之间的区别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43667229/