我下载了 AWS Java 开发工具包 1.4.5 版,但在迁移 DynamoDB 表上的查询时遇到问题。这是一个简单的哈希 + 范围查询。
V1 工作正常:
Condition c = new Condition().withComparisonOperator(ComparisonOperator.LT)
.withAttributeValueList(new AttributeValue(new Date().toString()));
DynamoDBQueryExpression q = new DynamoDBQueryExpression(new AttributeValue("john")).withRangeKeyCondition(c);
api 的 V2 似乎有点不同。方法签名更改需要将代码重写为:
Condition c = new Condition().withComparisonOperator(ComparisonOperator.LT)
.withAttributeValueList(new AttributeValue(new Date().toString()));
DynamoDBQueryExpression q = new DynamoDBQueryExpression()
.withIndexName("user")
.withHashKeyValues("john")
.withRangeKeyCondition("timestamp", c);
AWS 开发工具包引发异常:
The range key(timestamp) in the query is the primary key of the table, not the range key of index(user)
有没有人有代码示例说明如何使用 DynamoDB 的新 v2 api 执行查询?