CL-S3
CL-S3 is a Common Lisp library that implements a client interface to the
Amazon S3 Web Service.
More specifically, CL-S3
- uses the Amazon S3 REST interface
- does proper authorization
- implements all S3 API calls with all options
- parses the XML returned by some of the API
- converts S3 error responses to proper Common Lisp condition objects
- allows custom meta header (including canned access policies) and query parameters
- does proper keep-alive processing (courtesy s-http-client)
- is portable over Common Lisp implementations (courtesy s-sysdeps)
- can optionally validate get and put object calls using MD5 hashing
- contains 2 example higher level functions converting XML to simpler data
- contains 2 example higher level functions for uplaoding and downloading files to and from S3
- is properly packaged and has a documented public API
- should be installed using ASDF
You can download the code using the URL
http://homepage.mac.com/svc/cl-s3/cl-s3.tgz
or from S3 itself using the URL
http://s3.amazonaws.com:80/be-wolf359-test/cl-s3.tgz.
CL-S3 was written by Sven Van Caekenberghe
and is available under an LLGPL license. The current release, dated May 30 2007,
is available as a tarball only.
Please read the full Amazon S3 documentation and study the Common Lisp source code before
contacting me with ;-)
There is an interesting
post
on Nicky Peeters' Blog showing how to get started using CL-S3.