如果项目不存在,则放置Dynamodb批次

时间:2018-01-06 19:26:01

标签: amazon-web-services amazon-dynamodb amazon

DynamoDb不支持批量更新,它仅支持批量放置。

但是,只有具有键的项目的batchPut是否可能不存在?

1 个答案:

答案 0 :(得分:2)

batchWriteItem中,有以下注释:

  

例如,您无法在单个put和delete请求中指定条件,BatchWriteItem也不会在响应中返回已删除的项目。

相反,我建议将putItem与条件表达式一起使用。在putItem文档的底部,有以下注释:

  

[...]要防止新项目替换现有项目,请使用   包含attribute_not_exists函数的条件表达式   使用属性的名称作为分区键   表[...]

因此,请务必将以下内容添加到ConditionExpression(此处使用NodeJS语法)

const params = {
    Item: {
        userId: {
            S: "Beyonce",
        }
    },
    ConditionExpression: "attribute_not_exists(userId)"
};