You need to enable JavaScript to run this app.
Torch Object Storage

Torch Object Storage

Copy page
Download PDF
Basic configurations
Configuring Requester Pays
Copy page
Download PDF
Configuring Requester Pays
Requester Pays is a billing model that shifts the data transfer costs from the data owner to the requester. In this model, the requester pays for both the data transfer and the request. Meanwhile, the bucket owner pays for the data storage and any other related costs. This feature is useful when you want to share data without covering the costs associated with accessing it. This topic outlines the use cases, billing details, and step-by-step instructions for enabling Requester Pays.​
Use cases​
  • Sharing datasets​
  • In order to meet customer demand for data resources, cloud data integrators often need to share large-scale datasets. However, as access volume increases, so do the associated costs. Requester Pays ensures that the users who access the data bear the associated costs, preventing data owners from facing additional expenses.​
  • To share datasets using Requester Pays,​
  1. Allow all users to read and write to the bucket containing the datasets. For instructions, see Configuring bucket ACLs.​
  1. Enable the Requester Pays feature for the bucket.​
  • Delivering production data​
  • Bioinformatics companies collect and analyze large amounts of data and deliver the results to end customers. With Requester Pays, the end customers who access the data bear the associated costs, thereby reducing the operating expenses of such companies.​
  • To deliver production data using Requester Pays,​
  1. Make the bucket containing the production data a private bucket. For instructions, see Configuring bucket ACLs.​
  1. Enable the Requester Pays feature for the bucket.​
  1. Grant end customers permissions to access the required data through bucket policies. For instructions, see Authorizing other accounts.​
Billing notes​
For a bucket without Requester Pays enabled, the bucket owner bears all costs. For a bucket with Requester Pays enabled, the requester pays for both the data transfer and the request, while the bucket owner pays for the data storage and any other related costs. The applicable billable items are explained below:​
​
Category​
Billable item​
Payer​
Storage​
Bucket owner​
​
Early deletion or change in storage type​
Bucket owner​
Outbound traffic over the public network​
Requester​
​
CDN back-to-origin traffic​
Requester​
​
Cross-region replication traffic​
Bucket owner​
​
Cross-origin resource sharing traffic​
Bucket owner​
Put requests​
Requester​
​
Get requests​
Requester​
​
Retrieval requests​
Requester​
Data retrievals​
Bucket owner​
Image processing​
Bucket owner​
​
Advanced image compression​
Bucket owner​
​
Video frame capture​
Bucket owner​
​
Inspection​
Bucket owner​
​
Intelligent Tiering - Object monitoring​
Bucket owner​
Storage of temporary copies​
Bucket owner​
Storage analytics​
Bucket owner​
Transfer acceleration​
Bucket owner​
​
Request instructions​
When accessing a Requester Pays bucket, any requester who is not the bucket owner must include the x-tos-request-payer field in the request and set its value to requester. This is to confirm that the requester acknowledges and agrees to pay for any costs incurred during access. Failure to include this field will result in a failed request. Specifically:​
  • For POST API requests, the requester must add the parameter x-tos-request-payer: requester to the request body.​
  • For other types of API requests (e.g., PUT or GET), the requester must add the parameter x-tos-request-payer: requester to the request headers.​
  • For pre-signed URLs, the requester must add the query parameter x-tos-request-payer=requester to the request query.​
For example, when using GetObject to download an object from a Requester Pays bucket, the requester should structure the request as follows:​
​
GET /objectName HTTP/1.1​
Host: bucketname.tos-cn-beijing.volces.com​
Date: GMT Date​
Authorization: authorization string​
x-tos-request-payer: requester​
​
The Requester Pays model allocates access costs but does not control access. Requesters who are not the bucket owner must include x-tos-request-payer: requester in the request and possess the necessary bucket permissions to make a successful request.​
The owner of a Requester Pays bucket does not need to include the parameter x-tos-request-payer when accessing the bucket. However, if the owner is also the requester, they still need to pay for the data transfer and the request.​
warning​
Anonymous access to Requester Pays buckets is not allowed. When accessing these buckets, requesters must provide authentication information so that TOS can identify and charge them.​
Enabling Requester Pays​
  1. Log in to the TOS console.​
  1. In the left navigation pane, click Buckets. In the Buckets list, click the bucket you want to manage.​
  1. In the left navigation pane, select Basic configurations > Requester Pays.​
  1. On the Requester Pays page, click Edit.​
  1. Click Enabled and Select.​
  1. In the box that appears, click Confirm.​
Disabling Requester Pays​
After disabling Requester Pays, you, as the owner, will be responsible for all access costs generated by the bucket. These costs will no longer be the responsibility of the requester.​
  1. Log in to the TOS console.​
  1. In the left navigation pane, click Buckets. In the Buckets list, click the bucket you want to manage.​
  1. In the left navigation pane, select Basic configurations > Requester Pays.​
  1. On the Requester Pays page, click Edit.​
  1. Click Disabled and Select.​
  1. In the box that appears, click Confirm.​
​
Last updated: 2026.07.20 18:40:36