我只能使用分区键查询DynamoDBMapper吗?

时间:2019-11-26 17:27:58

标签: amazon-web-services amazon-dynamodb dynamodb-queries

我见过this page关于如何仅使用分区键进行查询的信息。但是,我的情况是使用DynamoDBMapper class进行查询,但似乎无法解决该问题。

这是我的代码的一部分:

let current = <?= $number_of_items ?>;

我查询的表具有主分区键private final DynamoDBMapper mapper; List<QueryResult> queryResult = mapper.query(QueryResult.class, queryExpression); 和主排序键id

我想查询所有带有指定timestamp的行,eav看起来像:

id

但是如果ID重复(这很有意义,因为它是分区键),它总是给我

{:id={S: 0123456,}}

不确定如何解决此问题。由于要与其他表共享代码,因此必须使用DynamoDBMapper类。

任何帮助表示赞赏!谢谢。

1 个答案:

答案 0 :(得分:0)

以下工作吗?

final DynamoDBQueryExpression<QueryResult> queryExpression = new DynamoDBQueryExpression<>();
        expression.setKeyConditionExpression("id = :id");
        expression.withExpressionAttributeValues(ImmutableMap.of(":id", new AttributeValue("0123456")));