java - DynamoDBMapper 仅在对象不存在时保存

标签 java amazon-web-services amazon-dynamodb

使用 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/

相关文章:

command-line - 如何使用AWS CLI创建Dynamodb全局二级索引?

node.js - 使用 Node.js 的单独索引表从 dynamodb 表获取项目

java - GWT-Rpc 如何返回文件以便浏览器弹出下载对话框

node.js - 为什么我的 S3 上传没有正确上传?

java - 将自定义向导添加到 eclipse 插件中的新菜单

java - 使用 Eclipse AWS 插件时如何解决缺少工件错误?

amazon-web-services - 如何清除 AWS CloudSearch 中的所有数据?

javascript - 查询特定字段的dynamodb

java - 使用 ANT 时,如果我有特定的 Java 版本,如何才能定义任务?

java - 如何从另一个java应用程序内部启动资源jar - 解决方案