在使用版本号的乐观锁定的表上强制删除

时间:2016-07-22 18:01:09

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

我有一个Dynamo表,它通过DynamoDBVersionAttribute使用乐观锁定,以确保一次只有一个工作人员保留一个文档。但是,当我想要清理文档时,如果我未在ConditionalCheckFailedException中设置版本,则删除会引发DynamoDBMapper

此时,我不关心文档的版本,我想删除它,无论它是什么版本。有没有办法强制删除而不用担心版本?我想克服异常,而不必为文档查询Dynamo。

2 个答案:

答案 0 :(得分:2)

您可以通过将SaveBehaviour指定为CLOBBER来删除该项目,而无需担心版本。

DynamoDBMapper mapper;
mapper.delete(object, new DynamoDBMapperConfig(DynamoDBMapperConfig.SaveBehavior.CLOBBER)

答案 1 :(得分:0)

除非您将版本字段设置为正确的版本,否则无法使用figure;plot(-cos(x) - (-cos(0)))删除Dynamo项目。因此,如果您想在删除文档之前避免发出获取请求以查找文档,则必须直接在Dynamo客户端上使用DynamoMapper方法。