Vuoi scaricare cartelle da aws s3, cp o sync?


108

Se voglio scaricare tutti i contenuti di una directory su S3 sul mio PC locale, quale comando devo usare cp o sync?

Qualsiasi aiuto sarebbe molto apprezzato.

Per esempio,

se voglio scaricare tutto il contenuto di "questa cartella" sul mio desktop, sarebbe simile a questo?

 aws s3 sync s3://"myBucket"/"this folder" C:\\Users\Desktop

Risposte:


186

L'utilizzo aws s3 cpda AWS Command-Line Interface (CLI) richiederà il --recursiveparametro per copiare più file.

aws s3 cp s3://myBucket/dir localdir --recursive

Il aws s3 synccomando, per impostazione predefinita, copierà un'intera directory. Copierà solo file nuovi / modificati.

aws s3 sync s3://mybucket/dir localdir

Sperimenta per ottenere il risultato desiderato.

Documentazione:


3
Mi ci sono voluti alcuni minuti per capire dove trovare aws cli. Eccolo: aws.amazon.com/cli
Bjørn Stenfeldt

@dnafication Si prega di creare una nuova domanda invece di porre una domanda in un commento su una vecchia domanda.
John Rotenstein

aws s3 cp s3://myBucket/dir localdir --recursive. Funziona come un fascino. Se il flag --recursive viene saltato, genera un errore piuttosto inutile:fatal error: An error occurred (404) when calling the HeadObject operation: Key "myBucket" does not exist
Siddhartha

Ma se il file zip singolo di grandi dimensioni in GB, quale sarebbe il consiglio?
Kanagavelu Sugumar

@KanagaveluSugumar Per favore crea una nuova domanda invece di chiedere tramite un commento su una vecchia domanda.
John Rotenstein

4

Nel caso in cui sia necessario utilizzare un altro profilo, soprattutto cross account. è necessario aggiungere il profilo nel file di configurazione

[profile profileName]
region = us-east-1
role_arn = arn:aws:iam::XXX:role/XXXX
source_profile = default

e poi se stai accedendo a un solo file

aws s3 cp s3://crossAccountBucket/dir localdir --profile profileName


2

Nel caso in cui desideri scaricare un singolo file, puoi provare il seguente comando:

aws s3 cp s3://bucket/filename /path/to/dest/folder

0

Ho appena utilizzato la versione 2 dell'AWS CLI. Per l'opzione s3, ora c'è anche un'opzione --dryrun per mostrarti cosa succederà:

aws s3 --dryrun cp s3://bucket/filename /path/to/dest/folder --recursive

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.