Log in

ZS3 updates

I updated ZS3, my CL library for interacting with Amazon S3, with a few new features.

First, there's support for S3's new multi-object deletion system. In the past, S3 required one API call per object to delete stuff. Now you can delete up to 1000 objects with a single call, and ZS3's existing delete-objects function has been updated to use the new interface and will automatically split up the objects to be deleted into groups of 1000 as needed.

Multi-object deletion can be a big deal, since each API call costs money.

Second, there's support for the "reduced redundancy" storage class. Reduced redundancy storage is less durable than standard storage, and it comes with a corresponding reduction in cost. You can choose reduced redundancy when using put-object or related functions, or set the storage class after the fact with set-storage-class.

Third, there's support for automatic object expiration, aka bucket lifecycle configuration. With bucket lifecycle rules you can specify that objects with names that match a certain prefix expire after a certain period of time. You can change a bucket's lifecycle configuration with bucket-lifecycle and related functions.

Automatic expiration of objects is another way to save money on API calls. If objects are deleted automatically, you don't need to use any API calls at all to get rid of them.

Please let me know if there's an S3 feature you really want to see in ZS3. I feel like I'm on a roll and would love to add some more stuff that people need.
Tags: ,



:) I use zs3 !! thanks a lot.


I started using ZS3 yesterday to back up a customer's data, and expiration was on my wish list. Tools like ZS3 and Quicklisp are making it all too easy to oust Perl, Python, and Ruby from my servers.