2017-12-16 3 views
0

1つのs3バケットから別のバケットにファイルをコピーしたいとします。しかし、一度に1000ファイルを転送したいだけで、合計で300,000ファイルがあります。もう一つは、転送するバッチ間の時間を15秒にしたいということです。一度に1つのs3バケットから別のものにpythonを使用して1000個のファイルを転送します

私は以下のコードを書いています。これは、s3から別のものにコピーしますが、サーバーは停止しています。だからこの問題で私を助けてください。

aws s3 cp s3://sources3bucket/ s3://dests3bucket --recursive 

ありがとうございます!

+0

なぜ1000を一度にコピーしたいだけですか?これはあなたが見ている問題を回避するための試みですか?また、あなたはaws s3の同期を試してみましたか?同じ地域にバケツがありますか? – jarmod

+0

@jarmod実際には、RDS dbにファイルをロードしたいと思います。そのためにラムダ関数を書いています。もしcsvファイルが宛先バケットにロードされていれば、ラムダ関数が呼び出されます。 RDSにロードされます。私は他のs3バケットに移動する必要があるs3バケットに格納されている350kcsvを持っています(しかしlambda関数は一度に1000ファイル(最大)しか処理できません)。そのため、ソースs3からdest s3に一度に1000個のファイルを転送しようとしています。 – rnvs1116

+0

@jarmod、はいバケットは同じ地域にあります。 – rnvs1116

答えて

1

AWSステップ関数を使用して、あるバケットから別のバケットへファイルをコピーできます。手順は、

  • 与えられたソースバケットパラメータに基づいてソースからファイルをコピーし、それをデスティネーションバケットに保存するラムダ関数を記述します。
  • ステップ関数を設定するワークフロー
  • ワークフローで設定した遅延時間を15秒追加することもできます。

詳細については、AWS Compute Blob Synchronizing Amazon S3 Buckets Using AWS Step Functionsのブログ記事を参照してください。

サンプルコードはSyncBucketsStateMachine Githubリポジトリにあります。

+0

私はs3バケット間でファイルを転送するためのスクリプトを書いています。セットアップ機能のワークフローをセットアップする際にお手伝いしてください。 – rnvs1116

+0

こんにちは。あなたが直面している問題は何ですか? – Ashan

関連する問題