web-dev-qa-db-fra.com

Téléchargez un dossier depuis S3 à l'aide de Boto3

En utilisant Boto3 Python SDK, J'ai pu télécharger des fichiers en utilisant la méthode bucket.download_file()

Existe-t-il un moyen de télécharger un dossier entier?

13
El Fadel Anas

En utilisant boto3 vous pouvez définir les identifiants aws et télécharger le jeu de données depuis S3

import boto3
import os 

# set aws credentials 
s3r = boto3.resource('s3', aws_access_key_id='xxxxxxxxxxxxxxxxx',
    aws_secret_access_key='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx')
bucket = s3r.Bucket('bucket_name')

# downloading folder 
prefix = 'dirname'
for object in bucket.objects.filter(Prefix = 'dirname'):
    if object.key == prefix:
        os.makedirs(os.path.dirname(object.key), exist_ok=True)
        continue;
    bucket.download_file(object.key, object.key)

Si vous ne trouvez pas ur access_key et secret_access_key, reportez-vous à cette page
J'espère que cela vous aidera.
Merci.

0
Soulduck