Amazon Simple Storage Service (S3)¶
Amazon S3Driver is a wrapper around Boto 3.
Connecting¶
Change region from default us-east-1 to us-west-:
from cloudstorage.drivers.amazon import S3Driver
storage = S3Driver(key='<my-aws-access-key-id>',
secret='<my-aws-secret-access-key>',
region='us-west-1')
# <Driver: S3 us-west-1>
Regions supported:
ap-northeast-1ap-northeast-2ap-south-1ap-southeast-1ap-southeast-2ca-central-1eu-central-1eu-west-1eu-west-2sa-east-1us-east-1us-east-2us-west-1us-west-2
Access Control List (ACL)¶
By default, all containers and blobs default to private. To change the access
control when creating a container or blob, include the acl argument option:
container = storage.create_container('container-public', acl='public-read')
container.cdn_url
# https://s3.amazonaws.com/container-public
container = storage.get_container('container-public')
picture_blob = container.upload_blob('/path/picture.png', acl='public-read')
picture_blob.cdn_url
# https://s3.amazonaws.com/container-public/picture.png
Support ACL values for S3:
- private
- public-read
- public-read-write
- authenticated-read
- bucket-owner-read
- bucket-owner-full-control
- aws-exec-read
Warning
Updating ACL on an existing container or blob is not currently supported.