2

DynamoDB の仕組みに詳しい方からの助けをお待ちしております。大きな DynamoDB テーブルでスキャンを実行する必要があります。DynamoDBClient のスキャン操作は、返されるデータのサイズが 1 MB に制限されていることを知っています。同じ制限が Table.scan 操作に適用されますか? 問題は、Table.scan オペレーションがタイプ " ItemCollection<ScanOutcome>" の出力を返すのに対して、DynamoDBClient スキャンが ScanResult 出力を返すことです。これらのオペレーションが同様の方法で機能するかどうかは明確ではありません。

http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ScanJavaDocumentAPI.htmlの例を確認しましたが、最後に返されたキーの使用に関するヒントは含まれていません。

私の質問は次のとおりです: Table.scan を使用する場合、lastreturnedkey が null になるまで、サイクルでスキャン呼び出しを行う必要がありますか? はいの場合、最後のキーを取得するにはどうすればよいですか? そうでない場合、ページネーションを強制するにはどうすればよいですか? コード例へのリンクをいただければ幸いです。例を探すためにグーグルで時間を費やしましたが、それらのほとんどは DynamoDBClient または DynamoDBMapper を使用しており、代わりに Table オブジェクトと Index オブジェクトを使用する必要があります。

ありがとう!

4

1 に答える 1

1

の出力を反復するとTable.scan()、SDK がページネーションを行います。

于 2017-02-12T11:59:43.000 に答える