download free 30 days trial version buy bucket explorer
Documentation  Download  Purchase  Support  FAQs   Forum   ScreenShots & Demos

How to Set or Remove requestPayment Configuration on Amazon S3 Bucket?

Configure "Requester Pays" Bucket using PUT Bucket requestPayment

You can set and configure an Amazon S3 Bucket to be a Requester Pays Bucket by sending an HTTP PUT Request to Amazon S3 server. By default owner of the Bucket pays for the data storage and data download from a Bucket. However, the Bucket owner can configure a Bucket as Requester pays Bucket, where the requester pays for the request and the transfer of the data. Bucket owner always pays for the cost of storing the S3 Objects (Files).

This configuration allows the Bucket owner to specify that the person requesting the download will be charged for the download operation. To authenticate the request, you must be the Bucket owner.

You can configure an Amazon S3 Bucket as Requester Pays in two ways:

  1. Set Requester Pays using Amazon S3 REST API - requestPayment (GET Bucket requestPayment, PUT Bucket requestPayment): If you want to write your own software code, you can use Amazon S3 REST API in your program. Please read on Amazon S3 Documentation website for SOAP API details. We will only talk about Amazon S3 REST APIs on this website.
  2. Set a Bucket as requester Pays using Bucket Explorer: In this case you will not be required to write any program and you can configure Requester Pays Bucket using Bucket Explorer UI.

The following sections on this page will describe the steps on how to use Amazon S3 APIs or Bucket Explorer to configure a Bucket as Requester pays:

1. Set/Remove Requester Pays Buckets using Amazon S3 PUT Bucket Requester Pays REST API

To configure Requester Pays Buckets on a Bucket, you can request PUT Bucket requestPayment. For that, you need to use Request headers that are common to all operations.

Syntax


PUT ?requestPayment HTTP/1.1
Host: BucketName .s3.amazonaws.com
Content-Length: length
Date: date
Authorization: signatureValue

<RequestPaymentConfiguration xmlns=”http://s3.amazonaws.com/doc/2006-03-01”>
<Payer> payer </Payer>
</RequestPaymentConfiguration>
 

Note:
  • Payer parameter in the above code has two valid values: Requester | BucketOwner
  • You use the value, BucketOwner , to revert Requester Pays buckets to regular buckets.

GET Requester Pays Buckets using Amazon REST API

You can retrieve the requestPayment Bucket Configuration details by using GET Bucket requestPayment Amazon S3 API from your program.

Syntax


GET ?requestPayment HTTP/1.1
Host: BucketName .s3.amazonaws.com
Content-Length: length
Date: date
Authorization: Signature
 

2. Set/Get/Remove Requester Pays Buckets using Bucket Explorer

To configure Requester Pays Buckets on Amazon S3 Bucket, you can use Bucket Explorer user interface to do this very quickly and easily.

When you share a Bucket  of your account with any S3 user and you have set “Requester Pays” on the shared Bucket, then user must pay for every operation he/she did on that shared Bucket .


Follow the steps below to set/get Requester Pays on Shared Amazon S3 Bucket

  1. Start Bucket Explorer and connect with your Amazon S3 Account .
  2. Select the Bucket for which you want to set Requester Pays .
  3. Right click on the Bucket and select option “Update Bucket’s Requester Pays” -> “Set” .
  4. Bucket Explorer first checks if requester pays is already set on the bucket or not. If it is already set on the bucket, requester pays panel will prompt you with the message “Requester pay has already been set on the bucket: <bucket name > ” .
  5. If no requester Payee is found, then requester pays panel will display a message on the screen “Requester Pay has been set successfully for Bucket: <Bucket Name> ” .

Follow the steps to remove Requester Pays

You can also remove requester pays from a Bucket if you no longer want to charge other users for any operation on that shared S3 Bucket.

  1. Select the Bucket for which you have set Requester Pays .
  2. Right click on the Bucket and select option “Update Bucket’s Requester Pay ” -> “ Remove ”.
  3. It will display a message on screen that says “Are you sure you want to remove Requester Pay?”
  4. Click on “Yes ” to proceed.
  5. It will display a message that says “Requester Pay has been removed for Bucket: <Bucket Name >”