使用 Java DynamoDBMapper,我如何才能仅在对象不存在时保存它(基于主键)。如果确实存在,我希望抛出异常或失败,而不是更新现有条目。
最佳答案
我相信你应该能够用 DynamoDbSaveExpression 做到这一点可以应用于映射器的对象。
AWS 网站上有一个教程 here ,代码如下:
try {
DynamoDBSaveExpression saveExpression = new DynamoDBSaveExpression();
Map expected = new HashMap();
expected.put("status", new ExpectedAttributeValue().withExists(false));
saveExpression.setExpected(expected);
mapper.save(obj, saveExpression);
} catch (ConditionalCheckFailedException e) {
// This means our save wasn't recorded, since our constraint wasn't met
// If this happens, the worker can simply look for a new task to work on
}
关于java - DynamoDBMapper 仅在对象不存在时保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29286907/