2017-12-16 4 views
0

Ich möchte Dateien von einem S3 Eimer in einen anderen zu kopieren. Aber die Sache ist, ich möchte nur 1000 Dateien gleichzeitig übertragen und insgesamt habe ich 300.000 Dateien. Und noch etwas möchte ich 15 Sekunden Zeit zwischen den zu übertragenden Chargen geben.1000 Dateien zu einer Zeit von einem S3-Eimer zu einem anderen übertragen mit Python

Ich habe unten Code geschrieben, die von einem s3 zu einem anderen kopiert, aber der Server bleibt stecken. Also bitte hilf mir bei diesem Problem.

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

Vielen Dank im Voraus!

+0

Warum möchten Sie nur 1000 gleichzeitig kopieren? Ist dies einfach Ihr Versuch, eine Problemumgehung für Probleme, die Sie sehen, zu vermeiden? Hast du auch aws s3 sync versucht? Und sind die Eimer in der gleichen Region? – jarmod

+0

@jarmod Eigentlich möchte ich Datei auf RDS db laden, und ich habe eine Lambda-Funktion dafür geschrieben, wenn CSV-Datei im Ziel-Bucket geladen wird, dann Lambda-Funktion aufgerufen wird. Es lädt in RDS. Ich habe 350k csv in s3 Eimer gespeichert, die ich in andere s3 Eimer verschieben muss (aber Lambda-Funktion kann nur 1000 Dateien (max) auf einmal behandeln). Aus diesem Grund suche ich 1000 Dateien gleichzeitig von Quelle s3 nach dest s3 zu übertragen. – rnvs1116

+0

@jarmod, ja Buckets sind in der gleichen Region. – rnvs1116

Antwort

1

Sie können AWS-Schrittfunktionen verwenden, um Dateien von einem Bucket in einen anderen zu kopieren. Die Schritte umfasst

  • Schreiben Sie die Lambda-Funktionen zum Kopieren von Dateien aus der Quelle basierend auf dem angegebenen Source Bucket-Parameter und zum Speichern in einem Ziel-Bucket.
  • Einrichten einer Schrittfunktion Workflow
  • Sie können auch eine Verzögerung von 15 Sekunden hinzufügen, die im Workflow konfiguriert wurde.
  • Weitere Informationen finden Sie im Blogartikel in AWS Compute Blob Synchronizing Amazon S3 Buckets Using AWS Step Functions.

    Beispielcode ist in SyncBucketsStateMachine Github Repository verfügbar.

    +0

    Ich habe ein Skript geschrieben, um Dateien zwischen s3 Buckets zu übertragen. Könnten Sie bitte helfen, Setup Function Workflow einzurichten? – rnvs1116

    +0

    Hallo. Was ist das Problem, vor dem Sie stehen? – Ashan

    Verwandte Themen