Skip to main content

Read and write to Amazon S3 using a file-like object

Project description

Read and write files to S3 using a file-like object. Refer to S3 buckets and keys using full URLs.

The underlying mechanism is a lazy read and write using cStringIO as the file emulation. This is an in memory buffer so is not suitable for large files (larger than your memory).

As S3 only supports reads and writes of the whole key, the S3 key will be read in its entirety and written on close. Starting from release 1.2 this read and write are deferred until required and the key is only read from if the file is read from or written within and only updated if a write operation has been carried out on the buffer contents.

More tests and docs are needed.

Requirements

boto

Usage

Basic usage:

from s3file import s3open

f = s3open("http://mybucket.s3.amazonaws.com/myfile.txt")
f.write("Lorem ipsum dolor sit amet...")
f.close()

with statement:

with s3open(path) as remote_file:
    remote_file.write("blah blah blah")

S3 authentication key and secret may be passed into the s3open method or stored in the boto config file.:

f = s3open("http://mybucket.s3.amazonaws.com/myfile.txt", key, secret)

Other parameters to s3open include:

expiration_days

Sets the number of days that the remote file should be cached by clients. Default is 0, not cached.

private

If True, sets the file to be private. Defaults to False, publicly readable.

content_type

The content_type of the file will be guessed from the URL, but you can explicitly set it by passing a content_type value.

create

New in version 1.1 If False, assume bucket exists and bypass validation. Riskier, but can speed up writing. Defaults to True.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

python-s3file-1.3.tar.gz (5.8 kB view details)

Uploaded Source

File details

Details for the file python-s3file-1.3.tar.gz.

File metadata

File hashes

Hashes for python-s3file-1.3.tar.gz
Algorithm Hash digest
SHA256 19d0a6a4472ece8bec57ccbe7c8715c7d185ee811015bc8d963fc54ba7de7119
MD5 74b38acbeb575ff9a90ea2685dfacc79
BLAKE2b-256 c4c46878442a2fc1b42b4dea971560b568b3b8c3b87eadb4f4ea8596ccd01f84

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page