Я хочу записать очень большой файл json (> 10 ГБ) в DynamodB. Файл json состоит из следующего:
[ {"id": "000", "bar": 2, ... }, {"id": "001", "bar": 2, ... }, ... ]
Как записать этот большой файл в DynamodB?
Проще говоря, вам просто нужно сделать PutItem для каждого элемента в массиве (используйте BatchWrite для лучшей производительности). sh Это можно сделать несколькими способами.
PutItem
BatchWrite
Есть, конечно, много других вариантов. Я только что перечислил два, которые я, скорее всего, рассмотрю.
Один путь будет -
1. Store the file on AWS S3 2. Create an event on S3 when a new file is PUT 3. You will need a compute application which downloads the file and processes it, now there are many fancy ways to do this, based on how much you wish to spend on processing large files 4. Read each Object in your file array and send it to AWS SQS 5. Create a trigger on AWS SQS for an AWS Lambda function 6. The Lambda function can store your data on AWS DynamoDb, make sure you have logic for failed puts, as your file may or may not have duplicate ids, just to be sure.