Request fees
All operations on Object Storage Service (OSS), such as data access and management, are performed using the OSS API. This applies regardless of whether you access OSS over an internal network or the internet, or which tool you use, such as a software development kit (SDK), the OSS console, the ossutil command line interface, or the ossbrowser graphical tool. All requests to public-read or private files are also API calls. OSS charges request fees based on the number of API calls that you make. If you access data in the Cold Archive or Deep Cold Archive storage class, you must first restore the data. This restoration process also incurs data retrieval fees.
Unit price
This topic describes the billable items and payment methods for request fees. For more information about the pricing of billable items, see OSS Pricing.
Billable items
For the billable items listed below, requests that return a 2xx or 3xx code incur fees. Requests that return a 4xx or 5xx code do not incur fees.
Put-type requests
Billable item | Billable item code | Billing rule |
Put-type requests | PutRequest | Request fees are calculated based on the number of Put-type OSS API requests. |
Put-type requests include operations such as data uploads, copies, and deletions. The following table lists the API requests that are classified as Put-type.
Get-type requests
Billable item | Billable item code | Billing rule |
Get-type requests | GetRequest | Request fees are calculated based on the number of Get-type OSS API requests. |
Get-type requests include read operations for bucket or object information. The following table lists the API requests that are classified as Get-type.
Cold Archive retrieval requests
Billable item | Billable item code | Billing rule |
Cold Archive retrieval requests | Based on the restoration priority for Cold Archive data, retrieval requests are divided into the following three types, with corresponding billable item codes:
| Cold Archive files must be restored before they can be accessed. The restoration time depends on the data size and the selected restoration priority. Restoration incurs data retrieval request fees. A request to restore one Cold Archive file is counted as one retrieval request. The number of requests is not related to the file size. Note In addition to data retrieval request fees, restoring Cold Archive files also incurs fees for Cold Archive storage data retrieval capacity and temporary storage capacity. |
Deep Cold Archive retrieval requests
Billable item | Billable item code | Billing rule |
Deep Cold Archive retrieval requests | Based on the restoration priority for Deep Cold Archive data, retrieval requests are divided into the following two types, with corresponding billable item codes:
| Deep Cold Archive files must be restored before they can be accessed. The restoration time depends on the data size and the selected restoration priority. Restoration incurs data retrieval request fees. A request to restore one Deep Cold Archive file is counted as one Cold Archive retrieval request. The number of requests is not related to the file size. Note In addition to data retrieval request fees, restoring Deep Cold Archive files also incurs fees for Deep Cold Archive storage data retrieval capacity and temporary storage capacity. |
Special request billing logic
Put-type and Get-type API requests are charged as one request per call. However, some API requests that involve batch operations have special billing logic. The details are as follows:
API request | Description | Request fees | Example |
ListObjects | List all files in a bucket. | One call to the ListObjects or ListObjectsV2 API operation is counted as one Put-type request. When you list a specific number of files, the total number of requests depends on the number of files returned per call. | Assume a bucket contains 10,000 files:
|
ListObjectsV2 | |||
DeleteMultipleObjects | Delete files in a bucket in batches. | One call to the DeleteMultipleObjects API operation is counted as one Put-type request. When you delete a specific number of files, the total number of requests depends on the number of files that are processed in each call. | Assume a bucket contains 10,000 files:
|
CommitTransition | Transition storage classes through a lifecycle rule. | One call to the CommitTransition API operation is counted as one Put-type request. The number of Put-type requests is calculated based on the number of files that match the lifecycle transition rule. | Assume a lifecycle rule is configured for a bucket to transition 1,000 files that match the prefix 'dir' from Standard to Infrequent Access after 100 days. This operation incurs fees for 1,000 Put-type requests. |
ExpireObject | Delete files through a lifecycle rule. | One call to the ExpireObject API operation is counted as one Put-type request. The number of Put-type requests is calculated based on the number of files that match the lifecycle deletion rule. | Assume a lifecycle rule is configured for a bucket to delete 1,000 files that match the prefix 'dir' after 365 days. This operation incurs fees for 1,000 Put-type requests. |
Payment methods
Selection guide
Review the following payment methods and their features and scenarios to help you choose the right method and reduce request fees.
Payment method | Description | Features | Scenarios |
Pay-as-you-go | Pay-as-you-go is the default billing method for all billable items. You are billed for your actual usage of each billable item after you use it. | The number of data requests fluctuates greatly and is difficult to predict. |
|
Request resource plan (Standard) | A resource plan for Put-type and Get-type requests for Standard storage. When fees are settled, usage is first deducted from the resource plan. You purchase the plan before you use it. | The number of data requests for the Standard storage class is relatively stable and predictable. |
|
Request resource plan (Non-standard) | A resource plan for Put-type and Get-type requests for Infrequent Access, Archive, and Cold Archive storage. When fees are settled, usage is first deducted from the resource plan. You purchase the plan before you use it. | The number of data requests for Infrequent Access, Archive, and Cold Archive storage classes is relatively stable and predictable. | You need to upload a large amount of data that must be stored for a long time but is accessed infrequently (for example, once or twice a year). |
Support
The following table lists the payment methods that are supported by each billable item:
Billable item | Pay-as-you-go | Resource plan |
Number of Put requests | √ | × |
Number of Get requests | √ | × |
Cold Archive retrieval requests | √ | × |
Deep Cold Archive retrieval requests | √ | × |
FAQ
Can requesters pay for request fees instead of the bucket owner?
Yes. If you want the requester to pay for Put and Get requests instead of the bucket owner, you can enable the pay-by-requester mode. For more information, see Pay by requester.
References
To view expense details for request fees, see Query bills.