2017-07-04 1 views

Répondre

1

créer un répertoire local pour télécharger le contenu.

DOWNLOAD_LOCATION_PATH = '/home/Desktop/s3' 

BUCKET_NAME = "xxxxxxxxxxxxxxxxx" 
AWS_ACCESS_KEY_ID= os.getenv("AWS_KEY_ID") # set your AWS_KEY_ID on your environment path 
AWS_ACCESS_SECRET_KEY = os.getenv("AWS_ACCESS_KEY") # set your AWS_ACCESS_KEY on your environment path 
conn = boto.connect_s3(AWS_ACCESS_KEY_ID, AWS_ACCESS_SECRET_KEY) 
bucket = conn.get_bucket(BUCKET_NAME) 

obtenir la liste de tous les fichiers et dossiers dans S3 en utilisant

bucket_list = bucket.list() 
boucle

dans chaque fichier/dossier pour obtenir le contenu et les placer dans le dossier de téléchargement

for l in bucket_list: 
     key_string = str(l.key) 
     s3_path = DOWNLOAD_LOCATION_PATH + key_string 
     try: 
      print ("Current File is ", s3_path) 
      l.get_contents_to_filename(s3_path) 
     except (OSError,S3ResponseError) as e: 
      pass 
      # check if the file has been downloaded locally 
      if not os.path.exists(s3_path): 
       try: 
        os.makedirs(s3_path) 
       except OSError as exc: 
        # let guard againts race conditions 
        import errno 
        if exc.errno != errno.EEXIST: 
         raise 
+0

s'il vous plaît accepter la réponse s'il a résolu votre problème –

+0

Une erreur s'est produite: Traceback (dernier appel en dernier): Fichier "boto.py", ligne 2, en importation Boto Fichier "/home/R170610/boto.py", ligne 8, dans conn = boto.connect_s3 (ACCESS_KEY, secret_key) AttributeError: objet 'module' n'a pas d'attribut 'connect_s3' – Ashima

+0

peut essayer aussi, >>> depuis boto.s3.connection import S3Connection >>> conn = S3Connexion ('', '') –