Télécharger des dossiers depuis AWS S3, CP ou Sync?


108

Si je veux télécharger tout le contenu d'un répertoire sur S3 sur mon PC local, quelle commande dois-je utiliser cp ou sync?

Toute aide serait très appréciée.

Par exemple,

si je veux télécharger tout le contenu de "ce dossier" sur mon bureau, cela ressemblerait-il à ceci?

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

Réponses:


185

L'utilisation à aws s3 cppartir de l' interface de ligne de commande AWS (CLI) nécessitera le --recursiveparamètre pour copier plusieurs fichiers.

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

La aws s3 synccommande copiera, par défaut, un répertoire entier. Il ne copiera que les fichiers nouveaux / modifiés.

aws s3 sync s3://mybucket/dir localdir

Expérimentez simplement pour obtenir le résultat souhaité.

Documentation:


3
Il m'a fallu quelques minutes pour savoir où trouver aws cli. Le voici: aws.amazon.com/cli
Bjørn Stenfeldt

@dnafication Veuillez créer une nouvelle question plutôt que de poser une question dans un commentaire sur une ancienne question.
John Rotenstein

aws s3 cp s3://myBucket/dir localdir --recursive. Cela fonctionne comme un charme. Si l'indicateur --recursive est ignoré, il génère une erreur plutôt inutile:fatal error: An error occurred (404) when calling the HeadObject operation: Key "myBucket" does not exist
Siddhartha

Mais si le fichier zip unique de grande taille en Go, quelle serait la recommandation?
Kanagavelu Sugumar

@KanagaveluSugumar Veuillez créer une nouvelle question plutôt que de la poser via un commentaire sur une ancienne question.
John Rotenstein

4

Au cas où vous auriez besoin d'utiliser un autre profil, en particulier un compte croisé. vous devez ajouter le profil dans le fichier de configuration

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

puis si vous n'accédez qu'à un seul fichier

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


2

Dans le cas où vous souhaitez télécharger un seul fichier, vous pouvez essayer la commande suivante:

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

0

Je viens d'utiliser la version 2 de l'AWS CLI. Pour l'option s3, il existe également une option --dryrun maintenant pour vous montrer ce qui va se passer:

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

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.