DynamoDB批量更新

时间:2016-11-08 04:21:07

标签: amazon-dynamodb

在dynamodb中是否有任何api来更新批次的项目。有一个api可以批量编写新项目(BatchWriteItem)并使用UpdateItem更新单个项目。但是可以在一次通话中更新多个项目吗?

6 个答案:

答案 0 :(得分:19)

我现在知道这是一个老问题,但是DynamoDB最近添加了一个支持更新的Transaction api:

Update —启动UpdateItem操作以编辑现有项的属性,或者将新项添加到表(如果尚不存在)。使用此操作可以有条件地或无条件地添加,删除或更新现有项目的属性。

https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/transaction-apis.html

答案 1 :(得分:13)

目前DynamoDB中没有可用的批量更新项API。

DynamoDB API operations list

答案 2 :(得分:1)

BatchWriteItem无法更新项目。要更新项目,请使用UpdateItem操作。 BatchWriteItem操作在一个或多个表中放置或删除多个项目

参考:http://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_BatchWriteItem.html

答案 3 :(得分:1)

我为此目的使用DynamoDBMapper.batchSave(Iterable<? extends Object> objectsToSave)

答案 4 :(得分:1)

当前没有批量更新,您可以使用一个更新Item调用,并在其上进行工作流,例如AWS SWF或AWS step函数

https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB/DocumentClient.html

答案 5 :(得分:0)

我使用dynamoDB更新触发器,然后制作了一个模板,该模板告诉我应该修改哪些项目,将它们放在队列中,并且它们读取队列中的消息以逐个更新