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, part of the Amazon Web Services suite or protocols
  • 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
  • is properly packaged and has a documented public API
  • should be installed using ASDF

See also ZS3.