编辑:
我其实是不正确的。当我打算查询解释我的错误的索引时,我正在查询表。 Vikdor 的解决方案是有效的。

原文:
我在 DynamoDB 中有一个带有 Hash-Range 键架构的表。我需要能够获取与特定哈希键关联的所有项目,但它似乎需要范围键条件。我的问题是我想要每个范围键,但没有通配符选项。截至目前,我的范围键是一个字符串,我能想到的唯一方法是查询大于或等于我可以使用的最小 ascii 字符的所有范围键,因为文档说它基于 ascii 字符值进行排序。

我研究了扫描,但似乎只会读取整个表格,这不是一个选项。

有没有更好的方法来查询哈希键的所有值,或者任何人都可以确认使用带有 ascii 字符的方法是否有效?

最佳答案



这听起来不像是真的。

我使用 DynamoDBMapper 并使用 DynamoDBQueryExpression 查询具有给定 HashKey 的所有记录,如下所示:

DynamoDBQueryExpression<DomainObject> query =
    new DynamoDBQueryExpression<DomainObject>();
DomainObject hashKeyValues = new DomainObject();
hashKeyValues.setHashKey(hashKeyValue);
query.setHashKeyValues(hashKeyValues);
// getMapper() returns a DynamoDBMapper object with the appropriate
// AmazonDynamoDBClient object.
List<DomainObject> results = getMapper().query(query);

哈。

关于java - 使用 java sdk 从具有散列范围架构的给定散列键查询 DynamoDB 中的所有项目,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30969594/

10-11 10:26
查看更多