En Python/Boto 3, Appris que pour télécharger un fichier individuellement à partir de S3 au niveau local peut effectuer les opérations suivantes:Python/Boto 3: Comment récupérer/télécharger des fichiers depuis AWS S3?
bucket = self._aws_connection.get_bucket(aws_bucketname)
for s3_file in bucket.list():
if filename == s3_file.name:
self._downloadFile(s3_file, local_download_directory)
break;
Et pour télécharger tous les fichiers sous un répertoire choisi:
else:
bucket = self._aws_connection.get_bucket(aws_bucketname)
for s3_file in bucket.list():
self._downloadFile(s3_file, local_download_directory)
Et fonction d'aide _downloadFile()
:
def _downloadFile(self, s3_file, local_download_destination):
full_local_path = os.path.expanduser(os.path.join(local_download_destination, s3_file.name))
try:
print "Downloaded: %s" % (full_local_path)
s3_file.get_contents_to_filename(full_local_path)
Mais les deux ne semblent pas fonctionner. En utilisant Boto 3 et Python, j'aimerais pouvoir télécharger tous les fichiers, comme un zip de préférence, sous un répertoire défini sur S3 vers mon local.
Que pourrais-je faire de mal, et quelle est la bonne implémentation des paramètres?
Nous vous remercions à l'avance, et être sûr d'accepter/Upvote répondre
MISE À JOUR CODE: Getting an error: “AttributeError: 'S3' object has no attribute
import sys
import json
import os
import subprocess
import boto3
from boto.s3.connection import S3Connection
s3 = boto3.resource('s3')
s3client = boto3.client('s3')
#This works
for bucket in s3.buckets.all():
print(bucket.name)
def main():
#Getting an error: “AttributeError: 'S3' object has no attribute 'download’”
s3client.download('testbucket', 'fileone.json', 'newfile')
if __name__ == "__main__": main()
"ne semble pas fonctionner"? Qu'est-ce qui ne fonctionne pas exactement? Voyez-vous des erreurs? – oshaiken
@oshaiken Il ne se connecte à rien et rien n'est en cours de téléchargement. Est-ce que je prends la bonne approche? Merci d'avance –