upload-Verzeichnis für s3 mit boto
Ich bin schon mit der Instanz verbunden sind, und ich will Sie zum hochladen der Dateien, die generiert werden, aus meinem python-Skript direkt an der S3. Ich habe dies ausprobiert:
import boto
s3 = boto.connect_s3()
bucket = s3.get_bucket('alexandrabucket')
from boto.s3.key import Key
key = bucket.new_key('s0').set_contents_from_string('some content')
aber das ist eher eine neue Datei erstellen, s0 mit dem Kontext "gleichen Inhalt", während ich Sie hochladen möchten, das Verzeichnis, s0 auf mybucket.
Hatte ich einen Blick auch auf s3put aber ich schaffte es nicht zu bekommen, was ich will.
- Möglicherweise möchten Sie vielleicht einen Blick auf dieses, sieht aus wie ein etwas ähnliche Frage
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es ist nichts in der
boto
Bibliothek selbst, die erlauben würde, Sie zu hochladen ein ganzes Verzeichnis. Sie konnte Ihren eigenen code schreiben, um die traverse directory mitos.walk
oder ähnliches und das hochladen jeder einzelnen Datei mit boto.Es ist ein Befehlszeilen-Dienstprogramm in boto genannt
s3put
könnten, behandeln Sie diese oder verwenden Sie die AWS CLI-tool die hat eine Menge von Funktionen, die den upload von ganzen Verzeichnissen oder sogar synchronisieren den S3-bucket mit einem lokalen Verzeichnis oder Umgekehrt.s3 sync
wie es aussieht, ist der job docs.aws.amazon.com/cli/latest/reference/s3/sync.htmlos.walk
viel, viel langsamer als Upload in einem batch..Kann folgende Funktion verwendet werden, um upload-Verzeichnis zu s3 über boto.
Geben Sie den Pfad für das Verzeichnis und Eimer Namen wie die Eingänge. Die Dateien werden direkt in den Eimer. Ändern Sie die Letzte variable des upload_file () - Funktion, die Sie in "Verzeichnisse".
Können Sie das folgende tun:
Zum Lesen von Datei-form Ordner, den wir verwenden können,