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)
# easy way
import boto3
s3 = boto3.resource(
service_name='s3',
region_name='Your region',
aws_access_key_id='Your id',
aws_secret_access_key="Your Key")
bucket = s3.Bucket('your bucket name')
bucket.upload_file(Filename='temp.csv', Key='temp.csv')
# file path __________↑ ↑
# (which you want to upload) |
# |______path (where you want to upload inside bucket)
import boto3
s3 = boto3.resource('s3')
BUCKET = "test"
s3.Bucket(BUCKET).upload_file("your/local/file", "dump/file")
The AWS SDK for Python provides a pair of methods to upload a file to an S3 bucket. The upload_file method accepts a file name, a bucket name, and an object name.