Amazon Simple Storage Service
Developer Guide (API Version 2006-03-01)
Print this pageEmail this pageGo to the ForumsView the PDFShare this page on TwitterShare this page on FacebookBookmark this page on DeliciousSubmit this page to RedditSubmit this page to DiggDid this page help you?  Yes  No   Tell us about it...

Downloading Objects in Requester Pays Buckets

Because requesters are charged for downloading data from Requester Pays buckets, the requests must contain a special parameter, x-amz-request-payer, which demonstrates the requester knows he or she will be charged for the download. To access objects in Requester Pays buckets, requests must include one of the following.

  • For GET and POST requests, include x-amz-request-payer : requester in the header

  • For signed URLs, include x-amz-request-payer=requester in the request

If the request succeeds and the requester is charged, the response includes the header x-amz-request-charged:requester. If x-amz-request-payer is not in the request, Amazon S3 returns a 403 error and charges the bucket owner for the request.

[Note]Note

Bucket owners do not need to add x-amz-request-payer to their requests.

Make sure to include x-amz-request-payer and its value in your signature calculation. For more information, see Constructing the CanonicalizedAmzHeaders Element.

To download objects from a Requester Pays bucket

  • Use a GET request to download an object from a Requester Pays bucket, as shown in the following request.

    GET / [destinationObject] HTTP/1.1
    Host: [BucketName].s3.amazonaws.com
    x-amz-request-payer : requester
    Date: Wed, 01 Mar 2009 12:00:00 GMT
    Authorization: AWS [Signature]

If the GET request succeeds and the requester is charged, the response includes x-amz-request-charged:requester.

Amazon S3 can return Access Denied errors for requests trying to get objects from Requester Pays buckets. For more information, go to ErrorCodeList.