TileStache.S3 module

Caches tiles to Amazon S3.

Requires boto (2.0+):
http://pypi.python.org/pypi/boto

Example configuration:

“cache”: {
“name”: “S3”, “bucket”: “<bucket name>”, “access”: “<access key>”, “secret”: “<secret key>”

}

S3 cache parameters:

bucket
Required bucket name for S3. If it doesn’t exist, it will be created.
access
Optional access key ID for your S3 account.
secret
Optional secret access key for your S3 account.
policy
Optional S3 ACL policy for uploaded tiles. Default is ‘public-read’.
use_locks
Optional boolean flag for whether to use the locking feature on S3. True by default. A good reason to set this to false would be the additional price and time required for each lock set in S3.
path
Optional path under bucket to use as the cache dir. ex. ‘cache’ will put tiles under <bucket>/cache/
reduced_redundancy
If set to true, use S3’s Reduced Redundancy Storage feature. Storage is cheaper but has lower redundancy on Amazon’s servers. Defaults to false.
Access and secret keys are under “Security Credentials” at your AWS account page:
http://aws.amazon.com/account/

When access or secret are not provided, the environment variables AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY will be used

class TileStache.S3.Cache(bucket, access=None, secret=None, use_locks=True, path='', reduced_redundancy=False, policy='public-read')
lock(layer, coord, format)

Acquire a cache lock for this tile.

Returns nothing, but blocks until the lock has been acquired. Does nothing and returns immediately if use_locks is false.

read(layer, coord, format)

Read a cached tile.

remove(layer, coord, format)

Remove a cached tile.

save(body, layer, coord, format)

Save a cached tile.

unlock(layer, coord, format)

Release a cache lock for this tile.

TileStache.S3.tile_key(layer, coord, format, path='')

Return a tile key string.