Using BitTorrent to Retrieve Objects Stored in Amazon S3
Any object in Amazon S3 that can be read anonymously can also be downloaded via BitTorrent. Doing so requires use of a BitTorrent client application. Amazon does not distribute a BitTorrent client application, but there are many free clients available. The Amazon S3BitTorrent implementation has been tested to work with the official BitTorrent client (go to http://www.bittorrent.com/).
The starting point for a BitTorrent download is a .torrent file. This small file describes for BitTorrent clients both the data to be downloaded and where to get started finding that data. A .torrent file is a small fraction of the size of the actual object to be downloaded. Once you feed your BitTorrent client application an Amazon S3 generated .torrent file, it should start downloading immediately from Amazon S3 and
from any "peer" BitTorrent clients.
Retrieving a .torrent file for any publicly available object is easy. Simply add a "?torrent" query string parameter at the end of the REST GET request for the object. No authentication is required. Once you have a BitTorrent client installed, downloading an object using BitTorrent download might be as easy as opening this URL in your web browser.
There is no mechanism to fetch the .torrent for an Amazon S3 object using the SOAP API.
Example
This example retrieves the Torrent file for the "Nelson" object in the "quotes" bucket.
Sample Request
GET /quotes/Nelson?torrent HTTP/1.0 Date: Wed, 01 Mar 2006 12:00:00 GMT
Sample Response
HTTP/1.1 200 OK x-amz-request-id: 7CD745EBB7AB5ED9 Date: Wed, 01 Mar 2006 12:00:00 GMT Content-Disposition: attachment; filename=Nelson.torrent; Content-Type: application/x-bittorrent Content-Length: 537 Server: AmazonS3 <body: a Bencoded dictionary as defined by the BitTorrent specification>