AWS CLI
Weitere Informationen finden Sie in der " AWS CLI-Befehlsreferenz ".
AWS hat kürzlich seine Befehlszeilentools veröffentlicht, die ähnlich wie Boto funktionieren und mit installiert werden können
sudo easy_install awscli
oder
sudo pip install awscli
Nach der Installation können Sie einfach Folgendes ausführen:
aws s3 sync s3://<source_bucket> <local_destination>
Zum Beispiel:
aws s3 sync s3://mybucket .
lädt alle Objekte in mybucket
das aktuelle Verzeichnis herunter .
Und wird ausgegeben:
download: s3://mybucket/test.txt to test.txt
download: s3://mybucket/test2.txt to test2.txt
Dadurch werden alle Ihre Dateien über eine Einweg-Synchronisierung heruntergeladen. Es wird nicht alle vorhandenen Dateien im aktuellen Verzeichnis löschen , wenn Sie angeben , und es wird keine Dateien auf S3 ändern oder löschen. --delete
Sie können auch die Synchronisierung von S3-Bucket zu S3-Bucket oder lokal zu S3-Bucket durchführen.
Lesen Sie die Dokumentation und andere Beispiele .
Während das obige Beispiel zeigt, wie ein vollständiger Bucket heruntergeladen wird, können Sie einen Ordner auch rekursiv herunterladen, indem Sie ausführen
aws s3 cp s3://BUCKETNAME/PATH/TO/FOLDER LocalFolderName --recursive
Dadurch wird die CLI angewiesen, alle Dateien und Ordnerschlüssel rekursiv innerhalb des PATH/TO/FOLDER
Verzeichnisses im BUCKETNAME
Bucket herunterzuladen .
aws s3 sync
ist das Beste. Aber niemand wies auf eine mächtige Option hin :dryrun
. Mit dieser Option können Sie sehen, was bei Verwendung von / nach s3 heruntergeladen / hochgeladen wirdsync
. Dies ist sehr hilfreich, wenn Sie Inhalte weder in Ihrem lokalen noch in einem S3-Bucket überschreiben möchten. So wird es verwendet:aws s3 sync <source> <destination> --dryrun
Ich habe es die ganze Zeit verwendet, bevor ich neue Inhalte in einen Bucket verschoben habe, um keine unerwünschten Änderungen hochzuladen.