1

我正在使用移动应用程序来查询 Dynamo DB 表。我已使用以下查询从 Dynamo DB 测试表中获取项目:

测试 t = mapper.load(Test.class, DynamoDBHashKey, DynamoDBRangeKey);

我的问题是如何从全局二级索引中查询一个项目?我已经在 Test 表的 Java 类中正确定义了注解和参数。

有没有其他方法可以查询全局二级索引和本地二级索引。

4

1 回答 1

2

load api不能用于查询 GSI 。查询 API可用于查询具有关键属性的 GSI 。

示例代码:-

Map<String, AttributeValue> vals = new HashMap<>();
            vals.put(":val1", new AttributeValue().withS("somevalue"));

DynamoDBQueryExpression<modelclass> queryExp = new DynamoDBQueryExpression<modelclass>()
                    .withKeyConditionExpression("category = :val1").withIndexName("indexname")
                    .withExpressionAttributeValues(vals);

dynamoDBMapper.query(modelclass.class, queryExp);

DynamodbQueryExpression 类

于 2017-04-22T16:42:03.570 回答