Version 8 of Amazon S3

Updated 2013-03-28 15:15:32 by MHo

http://s3.amazonaws.com/darren/TclS3.zip (This link is likely to change in the future.) MHo 2013-03-28: Seems the links is dead.

The Amazon Simple Storage Service (amazonaws.com) is an inexpensive service from Amazon.com that allows users to store, catalog, and retrieve data via HTTP.

The S3 package is a pure-Tcl library that allows a Tcl program to easily access this service. The library comes with TDP-style documentation and test cases, and it is portable without change between Windows and Linux. (Mac has not been tested, but it's pure Tcl. Testers appreciated.)

The package is currently in beta status. It relies on some Tcl 8.5 features, including dict and {*}.

The package is already in production use in some of the author's custom software. In addition, it has been used as the basis of a distributed-computation application currently also in beta.

Error reporting is complete, allowing precise recovery. Multi-file operations provide progress callbacks. Invocations have the option of running in blocking mode or being driven off the event loop, as the caller wishes.

Routines include

  • S3::REST - submit a low-level operation with full control by the caller.
  • S3::Configure - configure identity, defaults, and other options.
  • S3::SuggestBucket - Generate unique bucket names.
  • S3::ListAllMyBuckets - Just what it says.
  • S3::PutBucket - Create a new bucket.
  • S3::DeleteBucket - Delete an empty bucket.
  • S3::GetBucket - List the contents of a bucket.
  • S3::Put - Store data into the S3 service.
  • S3::Get - Fetch data from the S3 service.
  • S3::Delete - Delete data from the S3 service.
  • S3::Head - Get metadata about data in the S3 service.
  • S3::Push - Recursively store a directory tree into the S3 service.
  • S3::Pull - Recursively retrieve a directory tree from the S3 service.
  • S3::Toss - Recursively delete a directory tree from the S3 service.

See the documentation in the package for a full description of operations and arguments.


See Amazon SimpleDB