我有多个进程,使用DynamoDB表,因此,get save会产生不一致.我找不到使用DynamoDBMapper更新项目的方法.
解决方法
Saves an item in DynamoDB. The service method used is determined by
the DynamoDBMapperConfig.getSaveBehavior() value,to use either
AmazonDynamoDB.putItem(PutItemRequest) or
AmazonDynamoDB.updateItem(UpdateItemRequest):UPDATE (default) :
UPDATE will not affect unmodeled attributes on a save operation and a
null value for the modeled attribute will remove it from that item in
DynamoDB. Because of the limitation of updateItem request,the
implementation of UPDATE will send a putItem request when a key-only
object is being saved,and it will send another updateItem request if
the given key(s) already exists in the table.UPDATE_SKIP_NULL_ATTRIBUTES : Similar to UPDATE except that it ignores
any null value attribute(s) and will NOT remove them from that item in
DynamoDB. It also guarantees to send only one single updateItem
request,no matter the object is key-only or not.CLOBBER : CLOBBER
will clear and replace all attributes,included unmodeled ones,
(delete and recreate) on save. Versioned field constraints will also
be disregarded. Any options specified in the saveExpression parameter
will be overlaid on any constraints due to versioned attributes.
用法示例: –
DynamoDBMapperConfig dynamoDBMapperConfig = new DynamoDBMapperConfig(SaveBehavior.UPDATE); dynamoDBMapper.save(yourObject,dynamoDBMapperConfig);