Boto - Téléchargement de fichier à un emplacement spécifique sur Amazon S3
C'est le code, je travaille à la
import sys
import boto
import boto.s3
# AWS ACCESS DETAILS
AWS_ACCESS_KEY_ID = ''
AWS_SECRET_ACCESS_KEY = ''
bucket_name = AWS_ACCESS_KEY_ID.lower() + '-mah-bucket' conn = boto.connect_s3(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY)
bucket = conn.create_bucket(bucket_name, location=boto.s3.connection.Location.DEFAULT)
uploadfile = sys.argv[1]
print 'Uploading %s to Amazon S3 bucket %s' % \
(uploadfile, bucket_name)
def percent_cb(complete, total):
sys.stdout.write('.')
sys.stdout.flush()
from boto.s3.key import Key
k = Key(bucket)
k.key = 'my test file'
k.set_contents_from_filename(testfile, cb=percent_cb, num_cb=10)
Sur mon S3, j'ai créé des "répertoires", comme ce "seau/images/vacances". Je sais que ce ne sont que des répertoires virtuels.
Ma question est, comment puis-je les modifier télécharger spécifiquement pour seau/images/vacances répertoire virtuel sur S3 plutôt que le seau de la racine?
Vous devez vous connecter pour publier un commentaire.
Tout ce que vous devez avoir à faire est d'ajouter le chemin du répertoire virtuel pour le nom de la clé avant de les télécharger. Par exemple:
Vous devrez peut-être modifier un peu pour votre application, mais j'espère que ça vous donne l'idée de base.
mp = self._bucket.initiate_multipart_upload(bucket_key)
Vous pouvez également utiliser cette:
Ça marche comme ça dans mon s3_percent_uploader
après avoir télécharger le fichier sera dans testbucket/test/upload.txt