DynamoDB不支持批量更新,只支持批量写入。
但是,是否可以仅在键不存在的情况下进行批量写入?
DynamoDB不支持批量更新,只支持批量写入。
但是,是否可以仅在键不存在的情况下进行批量写入?
batchWriteItem
中,有以下提示:
例如,您不能在单个 put 和 delete 请求上指定条件,并且 BatchWriteItem 不会在响应中返回已删除的项目。
相反,我建议使用带有条件表达式的 putItem
。在 putItem
文档的底部有以下提示:
[...] 为了防止新项目替换现有项目,请使用包含
attribute_not_exists
函数并以用作分区键的属性名称命名的条件表达式。
因此,请确保将以下内容添加到 ConditionExpression
(此处使用 NodeJS 语法)中:
const params = {
Item: {
userId: {
S: "Beyonce",
}
},
ConditionExpression: "attribute_not_exists(userId)"
};
batchGetItem
并检查哪些未返回并将其存储为doesNotExist
。 然后使用doesNotExist
列表创建您的batchWriteItem
请求。 您需要此方法的示例吗? - Daniel Apt