查询Dynamo DB索引:GSI和LSI

时间:2017-04-22 06:50:26

标签: amazon-web-services amazon-dynamodb amazon-mobile-hub

我正在使用移动应用程序来查询Dynamo数据库表。我使用以下查询从Dynamo DB Test表中获取项目:

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

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

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

1 个答案:

答案 0 :(得分:1)

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 class