public
Description: Erlang/OTP application for accessing Amazon S3
Homepage:
Clone URL: git://github.com/cstar/erls3.git
erls3 /
name age message
file .gitignore Mon Mar 02 12:08:15 -0800 2009 Initial commit [cstar]
file LICENSE Mon Mar 02 12:08:15 -0800 2009 Initial commit [cstar]
file README Thu Apr 09 05:35:10 -0700 2009 Updated with changes from merle application. [cstar]
file Rakefile Wed Apr 15 05:26:20 -0700 2009 changed default rake task [cstar]
directory lib/ Thu May 28 08:35:50 -0700 2009 Added write_from_file/5 and read_to_file/3. Th... [cstar]
directory rakelib/ Thu May 07 03:59:10 -0700 2009 rake install a little better Removed a bunch of... [cstar]
directory release/ Mon Mar 02 12:08:15 -0800 2009 Initial commit [cstar]
README
erls3: an erlang wrapper for Amazon's S3 storage service
--------------------------------------------------------

Initial Author:  Andrew Birkett <andy@nobugs.org>
Author : Eric Cestari <eric@ohmforce.com> http://www.cestari.info/ http://twitter.com/cstar
Version: 0.3
Date:    2009/03/02

What is it?
-----------

Amazon's S3 storage service is a "pay as you go" service for storing
files.  You can use it to serve web content, backup your files, etc.

This s3erl library provides easy access to S3 for erlang applications.

More info at: http://www.amazon.com/b?node=16427261

Intent
-------
Do not use it to upload multiple Gb files. Everything is moved around in memory.
However it should behave pretty well under high load with moderately sized packets.

Requirements
------------

- OTP-R12B (released on 2007/12/05). 

- An Amazon Web Services account - see http://www.amazonaws.com

- ibrowse (http://github.com/cstar/ibrowse/tree/master)

- rake and ruby

- optionally : merle and ketama for caching
    merle is available here : http://github.com/cstar/merle/tree/master
    libketama is available here : http://www.audioscrobbler.net/development/ketama/
    
= BUILDING =

Type rake.
The first time, you will need to edit erlang_config.rb.
Re-run rake

= Configuration = 

You'll need to set your credentials to Amazon SDB :
- by passing them as OTP application parameters or
- by setting the AMAZON_ACCESS_KEY_ID and AMAZON_SECRET_ACCESS_KEY environment variable (recommended)

= TODO = 
- support ACL configuration
- Improve error handling
- Support for EU-based S3 buckets
- Support for streaming objects to/from disk (should be easy with ibrowse)
- Usage will probably show some bugs and their ugly faces.

Version History
---------------
v0.5 - 2009/03/09
  - automatic retries in case of (always transient) failures
  - get_objects : fetching objets from S3 in parallel
  - bugfixes (thanks magog)
  - implemented memcached caching with merle and ketama (get this version : http://github.com/cstar/merle/tree/master)
  
v0.4 - 2009/03/02
  - added support for HEAD
  - Content-MD5 is implemented
  - x-amz-meta-* headers can be added.
  - implemented a simple POST policy file encoding.

v0.3 - 2009/03/02

  - imported into github
  - OTP'fied the code
  - http calls are now asynchronous
  - SSL supported
 

v0.2 - 2007/12/29

  - Fix timezone bug in Date: header

v0.1 - 2007/12/07

  - First release, "works for me" (tm)
  - Bucket operations: list, create, delete
  - Object operations: read, write, list, delete

 Missing features:


License
-------

Released under the GNU General Public License v2.

Feedback
--------

Thanks for using github for patches.

From Eric to Andy
------------------
Thanks for the code mate !