Ich muss Dateien mit der Python Boto API zwischen den einzelnen Buckets verschieben. (Ich brauche es, um die Datei aus dem ersten Bucket zu "schneiden" und "Paste" es in der zweiten). Was ist der beste Weg, das zu tun?
** Hinweis: Ist das wichtig, wenn ich zwei verschiedene ACCESS KEYS und geheime Schlüssel habe?
Ich denke, dass die Boto S3 Dokumentation Ihre Frage beantwortet.
Das Verschieben von Dateien von einem Bucket zu einem anderen über Boto ist praktisch eine Kopie der Schlüssel von Quelle zu Ziel, anstatt den Schlüssel aus der Quelle zu entfernen.
Sie können auf die Buckets zugreifen:
%Vor%und wiederhole die Schlüssel:
%Vor%Siehe auch: Ist es möglich, mit s3cmd alle Dateien von einem S3-Bucket auf einen anderen zu kopieren?
Wenn Sie boto3 (die neuere Boto-Version) verwenden, ist das ganz einfach
%Vor%( Dokumente )
Bucket-Name muss String nicht Bucket-Objekt sein. Unter Änderung funktionierte für mich
%Vor%awscli erledigt den Job 30-mal schneller für mich als Boto-Coping und Löschen jeder Taste. Wahrscheinlich wegen Multithreading in awscli. Wenn Sie es immer noch von Ihrem Python-Skript aus ausführen möchten, ohne Shell-Befehle von dort aufzurufen, können Sie Folgendes versuchen:
Installieren Sie das awscli python-Paket:
%Vor%Und dann ist es so einfach:
%Vor%