Dynamodb分页10个结果

时间:2015-10-12 23:58:40

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

我有一个消息表,我希望获得该用户的最后10条消息,如果他们点击更多,它将检索另一个10,直到没有剩余消息。我无法看到如何做到这一点,到目前为止我能够根据时间得到消息,但这不是我想要的。通过阅读文档,我可以看到一个名为LastEvaluatedKey的方法,但是在哪里以及如何使用它我无法找到一个有效的例子。这是我的时间代码:

long startDateMilli = (new Date()).getTime() - (15L*24L*60L*60L*1000L);
long endDateMilli = (new Date()).getTime() - (5L*24L*60L*60L*1000L);
java.text.SimpleDateFormat df = new java.text.SimpleDateFormat(
            "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
String startDate = df.format(startDateMilli);
String endDate = df.format(endDateMilli);


QuerySpec spec = new QuerySpec()
        .withProjectionExpression("to,fr,sta,cr")
        .withKeyConditionExpression("to = :v_to and cr between :v_start_dt and :v_end_dt")
        .withValueMap(new ValueMap()
                .withString(":v_id", username)
                .withString(":v_start_dt", startDate)
                .withString(":v_end_dt", endDate));

ItemCollection<QueryOutcome> items = table.query(spec);

System.out.println("\nfindRepliesPostedWithinTimePeriod results:");
Iterator<Item> iterator = items.iterator();
while (iterator.hasNext()) {
    System.out.println(iterator.next().toJSONPretty());
}

如何修改此选项以消除基于时间的分页并使用最后10种消息类型的分页?

0 个答案:

没有答案