AWS CLI
Consulte la " Referencia de comandos de AWS CLI " para obtener más información.
AWS lanzó recientemente sus herramientas de línea de comandos, que funcionan de manera muy similar a boto y se pueden instalar usando
sudo easy_install awscli
o
sudo pip install awscli
Una vez instalado, puede simplemente ejecutar:
aws s3 sync s3://<source_bucket> <local_destination>
Por ejemplo:
aws s3 sync s3://mybucket .
descargará todos los objetos en mybucket
el directorio actual.
Y dará salida:
download: s3://mybucket/test.txt to test.txt
download: s3://mybucket/test2.txt to test2.txt
Esto descargará todos sus archivos mediante una sincronización unidireccional. Será no elimine los archivos existentes en el directorio actual a menos que se especifique , y no va a cambiar o eliminar cualquier archivo en S3. --delete
También puede hacer S3 bucket a S3 bucket, o local a S3 bucket sync.
Consulte la documentación y otros ejemplos .
Mientras que el ejemplo anterior es cómo descargar un depósito completo, también puede descargar una carpeta de forma recursiva realizando
aws s3 cp s3://BUCKETNAME/PATH/TO/FOLDER LocalFolderName --recursive
Esto le indicará a la CLI que descargue todos los archivos y claves de carpeta de forma recursiva dentro del PATH/TO/FOLDER
directorio dentro del BUCKETNAME
depósito.
aws s3 sync
es lo mejor. Pero nadie señaló una opción poderosa:dryrun
. Esta opción le permite ver lo que se descargaría / cargaría de / a s3 cuando lo esté utilizandosync
. Esto es realmente útil cuando no desea sobrescribir el contenido en su bucket local o s3. Así es como se usa:aws s3 sync <source> <destination> --dryrun
lo usé todo el tiempo antes de enviar contenido nuevo a un bucket para no cargar cambios no deseados.