処理して AWS DynamoDB テーブルに挿入する必要がある約 400000 行の csv ファイルがあります。それを行うための最良の方法は何ですか?
foreach と PutRequest を使用しようとしましたが、約 6348 行しか作成されませんでした。世話をする必要があるものはありますか?
処理して AWS DynamoDB テーブルに挿入する必要がある約 400000 行の csv ファイルがあります。それを行うための最良の方法は何ですか?
foreach と PutRequest を使用しようとしましたが、約 6348 行しか作成されませんでした。世話をする必要があるものはありますか?
Amazon DynamoDB では、プロビジョニングされたスループットを超えた場合、リクエストは失敗します。DynamoDB テーブルが Amazon CloudWatch で構成されている場合は、AWS マネジメント コンソールに移動して、これが当てはまるかどうかを確認できるはずです。書き込みスループット容量を増やす必要がありますか?
AWS SDK for PHP を使用していますか? その場合、単一のPutItem
リクエストが失敗すると数回再試行されますが、スループットを超えたために拒否され続けると、SDK も最終的にあきらめます。
API経由で単一のリクエストを使用していますかPutItem
、それとも API 経由でプットのバッチを使用していBatchWriteItem
ますか? おそらく後者について読んで使用する必要があります。
ただし、これを行う最善の方法WriteRequestBatch
は、AWS SDK for PHP の一部として出荷される抽象化を使用することです。内部で APIを使用しBatchWriteItem
、リクエストをキューに入れ、管理して、すべての項目が確実に書き込まれるようにします。AWS SDK for PHP ユーザーガイドの「 WriteRequestBatch の使用」セクションを参照してください。