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 confirms that 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, HEAD, and POST requests, include
x-amz-request-payer : requesterin the header -
For signed URLs, include
x-amz-request-payer=requesterin 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.
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 Constructing the CanonicalizedAmzHeaders Element.
To download objects from a Requester Pays bucket
-
Use a
GETrequest 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 an Access Denied error for requests that try to
get objects from a Requester Pays bucket. For more information, see Error Responses.

