Wie kann ich alle Elemente abzurufen, aus der paginierten Ergebnis einer DynamoDBMapper query()?

Ich versuche Abfrage DynamoDB mit Hilfe von DynamoDBMapper in Java mit den beiden hashKey und rangeKey. Aber ich bin nicht immer alle Ergebnisse, es gibt nur ein Teil davon. Mein code sieht wie folgt aus:

queryDynamoDb() {
  Condition rangeKeyCondition = new Condition()
    .withComparisonOperator(ComparisonOperator.GT.toString())
    .withAttributeValueList(new AttributeValue().withS("0"));

    DynamoDBQueryExpression queryExpression = new DynamoDBQueryExpression(
            new AttributeValue().withS(prefKey));

    queryExpression.setRangeKeyCondition(rangeKeyCondition);

    List<MyObj> myobjs = mapper.query(MyObj.class, queryExpression);
    return myobjs;
}

MyObj richtig kommentiert mit DynamoDB Anmerkungen. Also ich bin in der Lage, speichern Sie die Objekte, aber retrieval gibt ein Teilergebnis nur.

In der Dokumentation von Abfrage innerhalb DynamoDBMapper sagt:

Die query-Methode gibt die "lazy-loaded" - Kollektion. Das heißt, zunächst gibt es nur eine Seite der Ergebnisse. Es macht einen service-Aufruf für die nächste Seite, wenn nötig.

Nun stellt sich die Frage, wie man die mapper, um einen service-Aufruf oder eine Seite benötigt, so lädt er alle Seiten (effektiv alle Einträge)?

InformationsquelleAutor GG. | 2012-05-29
Schreibe einen Kommentar