web-dev-qa-db-fra.com

Dossier de téléchargement avec des sous-dossiers utilisant S3 et la console AWS

Lorsque j'essaie de télécharger un dossier avec des sous-dossiers sur S3 via la console AWS, seuls les fichiers sont téléchargés, pas les sous-dossiers. 

Vous ne pouvez pas non plus sélectionner un dossier. Il faut toujours ouvrir le dossier avant de pouvoir sélectionner quoi que ce soit.

Est-ce seulement possible?

51
chrismarx

Vous n'avez pas besoin du logiciel Enhanced Uploader (qui, à mon avis, n'existe plus) ni de tout logiciel tiers (il y a toujours un risque que quelqu'un vole vos données privées ou vos clés d'accès du compartiment S3 ou même de toutes les ressources AWS). 

Depuis que le nouveau gestionnaire AWS S3 Web Upload prend en charge drag'n'drop pour les fichiers et les folder, connectez-vous simplement à https://console.aws.Amazon.com/s3/home et commencez le processus de téléchargement comme d'habitude, puis faites simplement glisser le dossier de votre bureau directement vers la page S3. Si vous téléchargez des données privées sensibles, assurez-vous que la page sur laquelle vous travaillez commence par le protocole https: //.

42
Kainax

Je vous suggère d'utiliser AWS CLI. Comme il est très facile d’utiliser la ligne de commande et awscli

    aws s3 cp SOURCE_DIR s3://DEST_BUCKET/ --recursive

ou vous pouvez utiliser la synchronisation par 

    aws s3 sync SOURCE_DIR s3://DEST_BUCKET/

N'oubliez pas que vous devez installer aws cli et le configurer à l'aide de votre identifiant de clé d'accès et de votre identifiant de clé d'accès Secrect

     pip install --upgrade --user awscli   
     aws configure
63
Asad

La console Amazon S3 prend désormais en charge le téléchargement de hiérarchies de dossiers entières. Activez Ehanced Uploader dans la boîte de dialogue de téléchargement, puis ajoutez un ou plusieurs dossiers à la file de téléchargement.

http://console.aws.Amazon.com/s3

38
Dan Winn

J'utilise normalement le Enhanced Uploader disponible via la console de gestion AWS. Cependant, puisque cela nécessite Java, cela peut poser des problèmes. J'ai trouvé s3cmd un excellent substitut de la ligne de commande. Voici comment je l'ai utilisé:

s3cmd --configure   # enter access keys, enable HTTPS, etc.
s3cmd sync <path-to-folder> s3://<path-to-s3-bucket>/
31
gabrtv

J'avais de la difficulté à trouver l'outil de téléchargement amélioré pour télécharger le dossier et les sous-dossiers qu'il contient dans S3. Mais plutôt que de trouver un outil, je pouvais télécharger les dossiers avec les sous-dossiers qu’il contient en les faisant simplement glisser et les déposer dans le compartiment S3. 

Remarque: cette fonction de glisser-déposer ne fonctionne pas dans Safari. Je l'ai testé sous Chrome et cela fonctionne très bien. 

 Drag and drop

Après avoir glissé/déposé les fichiers et les dossiers, cet écran s’ouvre enfin pour télécharger le contenu. 

 enter image description here

5
Reaz Murshed

Vous pouvez glisser-déposer ces dossiers. La fonctionnalité glisser-déposer est prise en charge uniquement par les navigateurs Chrome et Firefox. Veuillez vous référer à ce lien https://docs.aws.Amazon.com/AmazonS3/latest/user-guide/upload-objects.html

0

Je ne vois pas les réponses Python ici . Vous pouvez envoyer des scripts de script à l'aide de Python/boto3 . Voici comment obtenir récursivement tous les noms de fichiers à partir de l'arborescence:

def recursive_glob(treeroot, extention):
    results = [os.path.join(dirpath, f)
        for dirpath, dirnames, files in os.walk(treeroot)
        for f in files if f.endswith(extention)]
    return results

Voici comment télécharger un fichier sur S3 à l'aide de Python/boto:

k = Key(bucket)
k.key = s3_key_name
k.set_contents_from_file(file_handle, cb=progress, num_cb=20, reduced_redundancy=use_rr )

J'ai utilisé ces idées pour écrire Directory-Uploader-For-S3

0
olekb

Vous pouvez utiliser Transfer Manager pour télécharger plusieurs fichiers, répertoires, etc. Plus d'informations sur:

https://docs.aws.Amazon.com/sdk-for-Java/v1/developer-guide/examples-s3-transfermanager.html

0
Mukesh Kumar

Il vaut la peine de mentionner que si vous utilisez simplement S3 pour les sauvegardes, vous devez simplement compresser le dossier et le télécharger. Cela vous fera économiser du temps et des coûts de téléchargement.

Si vous ne savez pas comment procéder à une compression efficace depuis le terminal, jetez un œil ici pour OSX.

Et $ Zip -r archive_name.Zip folder_to_compress pour Windows . Sinon, un client tel que 7-Zip serait suffisant pour les utilisateurs Windows

0
SGouws

Je me suis retrouvé ici en essayant de comprendre cela. Avec la version disponible actuellement, vous pouvez y glisser un dossier et cela fonctionne, même si cela ne vous permet pas de sélectionner un dossier lorsque vous ouvrez la boîte de dialogue de téléchargement.

0
ConorLuddy

Vous pouvez télécharger des fichiers par glisser-déposer ou en pointant et en cliquant. Pour télécharger des dossiers, vous devez les faire glisser. La fonctionnalité glisser-déposer est prise en charge uniquement par les navigateurs Chrome et Firefox.

0
ABHAY JOHRI