NOTE : Cette réponse utilise boto
. Voir le autre réponse qui utilise boto3
qui est plus récent .
Essayez ceci...
import boto
import boto.s3
import sys
from boto.s3.key import Key
AWS_ACCESS_KEY_ID = ''
AWS_SECRET_ACCESS_KEY = ''
bucket_name = AWS_ACCESS_KEY_ID.lower() + '-dump'
conn = boto.connect_s3(AWS_ACCESS_KEY_ID,
AWS_SECRET_ACCESS_KEY)
bucket = conn.create_bucket(bucket_name,
location=boto.s3.connection.Location.DEFAULT)
testfile = "replace this with an actual filename"
print 'Uploading %s to Amazon S3 bucket %s' % \
(testfile, bucket_name)
def percent_cb(complete, total):
sys.stdout.write('.')
sys.stdout.flush()
k = Key(bucket)
k.key = 'my test file'
k.set_contents_from_filename(testfile,
cb=percent_cb, num_cb=10)
[MISE À JOUR] Je ne suis pas un pythoniste, donc merci pour l'info sur les déclarations d'importation. De plus, je ne recommande pas de placer les informations d'identification dans votre propre code source. Si vous exécutez ceci dans AWS, utilisez IAM Credentials avec Instance Profiles ( http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html ), et pour conserver le même comportement dans votre environnement de développement et de test, utilisez quelque chose comme Hologram d'AdRoll ( https://github.com/AdRoll/hologram )