The eclectic musings of a bitter software engineer.

Net::Amazon::S3 0.1.0

Saturday November 25, 2006 @ 12:45 PM (PST)

Net::Amazon::S3 is a simple, easy to use, pure Ruby implementation of the Amazon S3 REST API. It aims to provide a more Rubyish interface to the S3 API than other libraries and has no non-Ruby dependencies, so it's completely platform-independent.

I wrote this because I needed an S3 library for Crackup and the existing libraries left much to be desired. They all seemed to be based on Amazon's horrible and unnecessarily complex Ruby example code, which was unsettling. To make matters worse, none of them supported uploading from (or downloading to) IO streams, which meant entire files had to be read into memory for transfer (not exactly practical when you're working with multi-gigabyte files).

The API presented by Net::Amazon::S3 is very simple and allows you to do some pretty useful things with S3 in only a few lines of code. It also supports uploading from IO streams and downloading in chunks, which means it's usable with any size file (up to the 5 GB limit imposed by S3).

Net::Amazon::S3 can be installed via RubyGems with just a few keystrokes:

gem install net-amazon-s3

Complete API documentation (including examples) is installed along with the gem, or you can read it online.

Update: Marcel Molina, Jr. from 37signals has released a new S3 library, AWS::S3, that's much more complete and (in my opinion) much better than Net::Amazon::S3. Since he said nice things when he emailed to tell me about his project, and since I like AWS::S3 so much better anyway, I won't be developing Net::Amazon::S3 further.

Comments

New comment

required, won't be displayed

optional

Don't type anything here unless you're an evil robot:


And especially don't type anything here:

Basic XHTML (including links) is allowed, just don't try anything fishy. Your comment will be auto-formatted unless you use your own <p> tags for formatting. You're also welcome to use Textile.

Copyright © 2002-2009 Ryan Grove. All rights reserved.
Powered by Thoth.