【发布时间】:2019-11-26 17:27:58
【问题描述】:
我已经看到this page 关于如何仅使用分区键进行查询。但是,我的情况是使用DynamoDBMapper class 进行查询,在那里似乎有效的方法并不适用。
这是我的代码的一部分:
private final DynamoDBMapper mapper;
List<QueryResult> queryResult = mapper.query(QueryResult.class, queryExpression);
我查询的表有一个主分区键id和主排序键timestamp。
我想查询所有指定id的行,eav看起来像:
{:id={S: 0123456,}}
但如果 id 有重复项(这是有道理的,因为它是分区键),它总是给我
"The provided key element does not match the schema"
不知道如何解决这个问题。由于与其他表共享代码,DynamoDBMapper 类是必须的。
任何帮助表示赞赏!谢谢。
【问题讨论】:
-
queryExpression中的内容 -
@Charles 感谢您的回复!我修复了 queryExpression 问题,但现在它仍然不允许我仅使用分区键进行查询。我编辑了上面的问题。
-
@Kei 这解决了吗?我也有相同的用例,但文档指出查询只能同时使用散列键和范围键。可以分享一下解决方法吗?
标签: amazon-web-services amazon-dynamodb dynamodb-queries