動画の容量と保存 · 参考資料確認日 2026年9月22日
DynamoDBの400 KB itemとBatchWriteItem上限を分ける
各itemが400 KB以内でも、BatchWriteItemのrequest全体が16 MBまたは25 operationsを超えると送れません。wire上のJSON sizeも確認します。
itemは400 KB、batchは16 MB・25 operations
DynamoDBに保存できる一つのitemは最大400 KBです。これはattribute namesとvaluesを含むstored itemのsizeとして確認します。
BatchWriteItemは一回のrequestが最大16 MBで、PutRequestとDeleteRequestを合計25 operationsまで含められます。25 itemsではなく25 write/delete operationsです。
wire上のJSONはstored itemより大きくなり得る
API requestのJSON representationは、DynamoDB内部で保存されるitem representationより大きくなる場合があります。400 KBのitemを単純に合計するだけでは16 MB requestを正確に判定できません。
BatchWriteItemはatomicなall-or-nothing操作ではありません。処理できなかったoperationsはUnprocessedItemsとして返るため、responseを確認せず成功扱いにしないでください。
item、wire request、responseを確認する
まず各Put itemが400 KB以内かを確認し、次にserialized requestを16 MB以内、operationsを25以内へ分けます。DeleteRequestでもoperation countへ含めます。
responseのUnprocessedItemsを確認し、exponential backoffを使って未処理分だけをretryします。batchを小さくした後も個別itemが400 KBを超えていないかを別に確認してください。
参考資料
- DynamoDB BatchWriteItem
https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_BatchWriteItem.html
確認日:2026-09-22