Predictive Hacks

Different Ways to Upload Data to S3 Using Boto3

The following script shows different ways of how we can get data to S3.

import boto3

# Initialize interfaces
s3Client = boto3.client('s3')
s3Resource = boto3.resource('s3')

# Create byte string to send to our bucket
putMessage = b'Hi! I came from Boto3!'

# put_object
response = s3Client.put_object(
    Body = putMessage,
    Bucket = 'gpipis-bucket',
    Key = 'boto3put.txt'
)

print(response)

# copy
toCopy = {
    'Bucket': 'gpipis-bucket',
    'Key': 'boto3put.txt'
}

s3Resource.meta.client.copy(toCopy, 'gpipis-bucket', 'boto3copy.txt')

# copy_object
response = s3Client.copy_object(
    Bucket = 'gpipis-bucket',
    CopySource = '/gpipis-bucket/boto3put.txt',
    Key = 'boto3copyobject.txt'
)

print(response)

# upload_file
boto3Upload = 'boto3upload.txt'

s3Resource.meta.client.upload_file(boto3Upload, 'gpipis-bucket', boto3Upload)

# upload_fileobj
with open(boto3Upload, 'rb') as fileObj:
    response = s3Client.upload_fileobj(fileObj, 'gpipis-bucket', 'boto3uploadobj.txt')
    print(response)

'''
response = s3Client.put_bucket_accelerate_configuration(
    Bucket='gpipis-bucket',
    AccelerateConfiguration={
        'Status': 'Enabled'
    }
)
print(response)
'''

Share This Post

Share on facebook
Share on linkedin
Share on twitter
Share on email

Subscribe To Our Newsletter

Get updates and learn from the best

More To Explore

Join the inner circle

Join our 2.000+ members and receive exclusive
data science content 🧪