A few weeks ago we asked our developer community for feedback on a proposed Copy feature for Amazon S3. The feedback was both voluminous and helpful to us as we finalized our plans and designed our implementation.
This feature is now available for beta use; you can find full documentation here (be sure to follow the links to the detailed information on the use of this feature via SOAP and REST). Copy requests are billed at the same rate as PUT requests: $.01 for 1000 in the US, and $.012 for 1000 in Europe.
In addition to the obvious use for this feature -- creating a new S3 object from an existing one -- you can also use it to rename an object within a bucket or to move an object to a new bucket. You can also update the metadata for an object by copying it to itself while supplying new metadata.
Still on the drawing board is support for copying between US and Europe, and a possible conditional copy feature. Both of these items surfaced as a result of developer feedback.
Tool and library support for this new feature is already starting to appear; read more about that in this discussion board thread.
-- Jeff;


Why can't amazon's developers update the various APIs? Instead of waiting for the public to add support, don't you think it would be in amazons interests to help make new features easily implemented.
Amazon can afford someone to update all of the api (php/c#/java....)
Instead I either have to figure it out myself or wait for the original people to come back and look at it, which might take some time.
Posted by: Sam Beckett | May 12, 2008 at 06:58 PM
@Sam Beckett: I wrote my own API because I didn't like the ones that were out there yet. I wouldn't want Amazon to come in and re-write my code for me.
That being said, Tarzan (http://tarzan-aws.googlecode.com) now supports object copy/duplicate/move/rename, and I'm currently working on bucket copy using the super-fast multicurl functionality.
Posted by: Ryan Parman | July 05, 2008 at 03:37 PM