DynamoDBのScanリクエスト1回で取得できるデータは最大1MB
1 回の Scan リクエストで、最大 1 MB のデータを取得できます。DynamoDB では、必要に応じてこのデータにフィルター式を適用して、結果をユーザーに返す前に絞り込むことができます。 1MB以上考慮して取得したい場合は、LastEvaluatedKey を使用してループ処理する
参考記事
DynamoDB は1回の Query 関数で取得し切れない場合、「ここから続けてね」という情報を QueryOutput 構造体の LastEvaluatedKey に格納して返してくる。
この情報を持ち廻って、Query の ExclusiveStartKey に設定することで、次の Query では続きを取得してくれる。
LastEvaluatedKey が返ってきていれば、続きがある。無ければ、続きがないのでQueryを終わっていい。
for ループで LastEvalueateKey をチェックして繰り返し取得する実装になりそう