boto3
Boto is a Python based API to Amazon’s AWS resources. Boto 3 is the most current release (as of Jan 2019). All of the examples on this page use Boto 3.
Installation
You can install Boto (Boto 3 in this example) using pip
:
$ pip install boto3
The Basics
Before you can access any AWS resources, you need to setup credentials for Boto to use. Boto can use the credentials that are by default saved in ~/.aws/credentials
(when setup using the AWS CLI). It will use the default
profile by, well, default.
Then you import Boto into your Python file:
import boto3
Using S3 With Boto
Assuming you have setup the credentials correctly, you can print out a list of all buckets with:
for bucket in s3.buckets.all(): print(bucket.name)
Copying Between Two Buckets
You can use boto3
to copy an object from one S3 location to another using the following code example:
import boto3
client = boto3.client('s3')
src = { 'Bucket': 'my-src-bucket', 'Key': 'my-file.txt',}
# This will copy s3://my-src-bucket/my-file.txt to s3://my-dest-bucket/copy-of-my-file.txtclient.copy(src, 'my-dest-bucket', 'copy-of-my-file.txt')