请考虑下表: Table (documentId : Hash Key, userId: Range Key) 如何编写代码以删除所有具有相同 documentId的项目,并且最好不检索这些项目。 解决方案如下: 当前,您不能仅通过传递哈希键来删除所有项,而要删除需要哈希+范围的项,因为这是唯一的。 You have to know both your (hash + range) to delete the item. 编辑:这是DynamoDB文档 http://docs.aws.amazon.com/amaz…

2020年11月16日 0条评论 21点热度 阅读全文

这是我正在操作的更新查询。错误在这里是“设置数据=:updateValue”,数据是Dynamo DB的保留关键字。我想我应该在这里使用update ExpressionAttributes,但不确定如何在这种情况下使用。 UpdateItemSpec updatetable = new UpdateItemSpec() .withPrimaryKey("pId", jsonContext.read("$.pId")) .withUpdateExpression("set data = :updateValue")…

2020年10月25日 0条评论 13点热度 阅读全文

我正在为我的大学的一个项目编写后端,但遇到一个我不理解的错误。 我正在与IntelliJ,Gradle一起使用,并将Spock用作测试环境。该项目的目标之一是利用Amazon NoSQL数据库解决方案DynamoDB。要测试后端的方法,请使用AmazonDB Local。 目前,我正在为后端的各种方法编写测试……或者至少我尝试过。当我运行我的第一个测试时,一旦达到“GetBookWithTitle”方法,我就会收到NoSuchMethodException异常。 (有趣的事实:“AddBook”方法似乎可以正常工作…

2020年10月13日 0条评论 12点热度 阅读全文

列表字段上带有IN的ScanRequest与DynamoDB中的条目不匹配。码: Map<String, AttributeValue> userAttributeValues = new HashMap<>(); userAttributeValues.put(":topic1", new AttributeValue().withS("5")); userAttributeValues.put(":topic2", new AttributeValue().withS("11")); S…

2020年9月21日 0条评论 25点热度 阅读全文

我正在尝试为请求设置独占开始键,以便以后可以使用LastEvaluatedKey。 当我遍历查询结果时,将发生以下异常。有人可以在这方面帮助我吗? “提供的开始键与范围键谓词不匹配” QuerySpec queryExpression = ... queryExpression = queryExpression.withExclusiveStartKey(OFFSET_PRIMARY_KEY, offsetParts[OFFSET_PRIMARY_KEY_INDEX], OFFSET_SORT_KEY, Long…

2020年9月15日 0条评论 10点热度 阅读全文

我试图在Java中有条件地更新dynamoDB表。我有一个查询,如果条件的计算结果为true,则该查询会递增属性,但是如果失败,则查询将引发异常。 有没有办法避免这种异常并使查询返回旧项目? 解决方案如下: 不幸的是,不是开箱即用,但是您可以执行以下操作: try { item = table.updateItem(updateItemSpec); } catch (ConditionalCheckFailedException ce) { item = table.getItem(...) ... }

2020年8月17日 0条评论 16点热度 阅读全文

在DynamoDB表中,其中CustomerStatus是一列,其中项目可能包含“有效”,“无效”或“已删除”作为CustomerStatus。我想获取状态为“有效”以及“无效”的所有客户。这是我正在使用的代码示例,但是我不确定如何完成它。 private Object data(MuleEventContext eventContext) { List<Object> finalJson = new ArrayList<Object>(); String tableName = "Cust…

2020年8月14日 0条评论 17点热度 阅读全文

我必须在Dynamo Db中创建一个全局二级索引。我的主表结构如下- { "primaryId" : "1234" //HashKey "dummy1" : "kkd", "dummy2" : "ddd", "secondObj": [{ "secondObjId" : "1234", "name" : "1234", }, { "secondObjId" : "12345", "name" : "12345", }] } 现在,我必须基于“ secondObjId”作为哈希键创建GlobalSecondary索引…

2020年8月7日 0条评论 13点热度 阅读全文

我正在使用dynamoDB ExpressionSpecBuilder(Java)为数据库中的项目创建更新查询。我希望返回整个修改的资源,而不必单独指定所有属性。 有没有办法做到这一点? 解决方案如下: 如果您被迫使用ExpressionSpecBuilder,我找不到任何方法。 但是,还有其他替代方法,例如UpdateItemRequest,您可以将ReturnValues属性设置为ALL_NEW并获取所有属性作为映射: UpdateItemRequest updateProgramCounterRequest …

2020年7月20日 0条评论 15点热度 阅读全文

我正在尝试使用Jackson来对DynamoDB V2 AttributeValue类进行序列化/反序列化。它使用构建器设置为不可变的类,并且该构建器具有私有(private)构造函数。为了创建一个构建器,您需要调用AttributeValue.builder()。我无法控制此类,因此我想使用Jackson混合器。我使用了@JsonDeserialize(builder = AttributeValue.Builder::class)并注册了mixin: @JsonDeserialize(builder = Att…

2020年6月26日 0条评论 15点热度 阅读全文