次の2つのコードセグメントの違いを理解しようとしています。 1つはページを使用してスキャン結果を取得し、2つ目はスキャン結果を取得しません。データベース内のアイテムの総数が非常に多い場合、2番目のアプローチが機能するかどうかは疑問です。 AWSのドキュメントによると、スキャン結果は1Mbで制限されています。これはバージョン2にどのような影響を及ぼしますか?最初の1 MBの結果しか得られないのでしょうか、それとも各ページの後もデータベース呼び出しを行いますか?ページ分割ありとなしのDynamoDB Table.scan
私は、DynamoDBClient.scan apiとは異なるtable.scan APIを使用しています。 APIの詳細については、http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/dynamodbv2/document/Table.htmlを参照してください。
バージョン1(使用してページ):(ページなしのアイテムを反復処理)
ItemCollection<ScanOutcome> items = table.scan(spec);
items.pages().forEach(page -> {
for (Item item : page) {
response.add(item);
}
});
バージョン2:
ItemCollection<ScanOutcome> items = table.scan(spec);
for (Item item : items) {
response.add(item);
}