Downloading objects from Requester Pays buckets (original) (raw)

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

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

Note

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

Ensure that you have included x-amz-request-payer and its value in your signature calculation. For more information, see Using an Authorization Header in the Amazon S3 API Reference .

To download objects from a Requester Pays bucket
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 includesx-amz-request-charged:requester.

Amazon S3 can return an Access Denied error for requests that try to get objects from a Requester Pays bucket. For more information, see Error Responses in the Amazon Simple Storage Service API Reference.

To download objects from a Requester Pays bucket using the AWS CLI, you specify--request-payer requester as part of yourget-object request. For more information, see get-object in the AWS CLI Reference.