Amazon S3 Storage Driver Documentation ====================================== `Amazon Simple Storage Service (Amazon S3)`_ is an online cloud storage service from Amazon Web Services. Multipart uploads ------------------ Amazon S3 driver supports multipart uploads which means you can upload objects with a total size of up to 5 TB. Multipart upload works by splitting an object in multiple parts and uploading those parts to S3. After all the parts of the object are uploaded, Amazon S3 assembles those parts and creates an object. If you use :meth:`libcloud.storage.base.StorageDriver.upload_object_via_stream` method, Libcloud transparently handles all the splitting and uploading of the parts for you. By default, to prevent excessive buffering and use of memory, each part is 5 MB in size. This is also the smallest size of a part you can use with the multi part upload. Examples -------- 1. Uploading a very large file using upload_object_via_stream method ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This approach shows how you can upload a very large file using ``upload_object_via_stream`` method. Keep in mind that exactly the same approach and method can also be used for uploading other arbitrary sized files. There is no minimum size limit and you can even upload / create empty objects. .. literalinclude:: /examples/storage/s3/multipart_large_file_upload.py :language: python 2. Specifying canned ACL when uploading an object ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ If you want to specify custom ACL when uploading an object, you can do so by passing ``extra`` argument with the ``acl`` attribute to the upload methods. Valid values for this attribute are: * ``private`` (default) * ``public-read`` * ``public-read-write`` * ``authenticated-read`` * ``bucket-owner-read`` * ``bucket-owner-full-control`` For example: .. literalinclude:: /examples/storage/s3/upload_object_acls.py :language: python For more information about the canned ACLs, please refer to the `Canned ACL` section of the Amazon S3 documentation. .. _`Amazon Simple Storage Service (Amazon S3)`: http://aws.amazon.com/s3/ .. _`Canned ACL`: http://docs.aws.amazon.com/AmazonS3/latest/dev/ACLOverview.html#CannedACL