如果我们使用重复的哈希键插入Dynamo DB会发生什么?

cod*_*der 21 hash key amazon-dynamodb

我想插入发电机DB.当我调用putItem函数时,如果数据库中已存在哈希键,会发生什么?PutItemResult对象是否包含可以告诉我们是否尝试重复哈希条目的内容?我想避免运行另一个查询来检查是否有一个条目与我正在使用的哈希键.

yad*_*taf 33

如果在现有主键上插入项目,除非使用"预期值",否则它将被覆盖.以下是官方文档的介绍:

http://docs.amazonwebservices.com/amazondynamodb/latest/developerguide/API_PutItem.html

创建新项目,或用新项目(包括所有属性)替换旧项目.如果指定表中的项目已存在且具有相同的主键,则新项目将完全替换现有项目.您可以执行条件put(如果不存在具有指定主键的项目,则插入新项目),或者如果现有项目具有某些属性值,则替换它.

注意

要确保新项目不替换现有项目,请对主键属性或属性使用Exists设置为false 的条件put操作.

否则,您还可以使用UpdateItem更新预先存在的项目的字段:http://docs.amazonwebservices.com/amazondynamodb/latest/developerguide/API_UpdateItem.html