All operations pertaining to accessing and managing Object Storage Service (OSS) resources, whether conducted over the internal network or the Internet, whether executed through API calls, OSS SDKs, the OSS console, ossutil, or ossbrowser, and irrespective of whether public-read or private objects are accessed, are fundamentally based on RESTful APIs. You are charged request fees based on the actual number of API calls. If your business application requires access to Cold Archive or Deep Cold Archive objects, you must restore these objects before accessing. In this case, you are also charged data retrieval fees.
Unit price
This topic describes only the billable items and billing methods. For information about the billable items and pricing details, see OSS Fees.
Billable item
You are charged for requests with HTTP status codes 2xx and 3xx returned, and not charged for requests with HTTP status codes 4xx and 5xx returned.
PUT requests
Item | Billing code | Billing rule |
PUT requests | PutRequest | Charged based on the number of PUT requests. |
PUT requests include requests initiated to upload, copy, or delete objects. The following table lists the specific API requests for PUT operations.
GET requests
Item | Billing code | Billing rule |
GET requests | GetRequest | Request fees are calculated based on the number of GET requests. |
GET requests are used to retrieve information about buckets or objects. The following table lists the specific API requests for GET operations.
Cold Archive data retrieval requests
Billable item | Billing code | Billing rule |
Cold Archive retrieval requests | Cold Archive retrieval requests are categorized by restoration priority. The billing codes are as follows:
| Cold Archive objects must be restored before they can be accessed. The time required to restore an object depends on its size and the selected restoration priority. Restoring an object incurs retrieval request fees. Each request to restore a Cold Archive object is counted as one retrieval request, regardless of the object size. Note In addition to retrieval request fees, restoring Cold Archive objects also incurs fees for Cold Archive data retrieval volume and temporary storage capacity. |
Deep Cold Archive data retrieval requests
Item | Billing code | Billing rule |
Deep Cold Archive data retrieval requests | Data retrieval requests are divided into two categories based on restoration priorities of Deep Cold Archive data, each associated with the following billing codes:
| A Deep Cold Archive object must be restored before you can access it. The amount of time required to restore a Deep Cold Archive object depends on the object size and the selected restoration priority. You are charged data retrieval fees when you restore a Deep Cold Archive object. The restoration of a Deep Cold Archive object is considered a data retrieval request. The number of requests is independent of the object size. Note In addition to data retrieval requests, you are charged for the retrieval of Deep Cold Archive objects, and temporary storage usage when you restore Deep Cold Archive objects. |
Billing rules for special requests
You are charged request fees for each PUT or GET request. Certain API requests may involve batch operations, which require the implementation of different calculation methods.
API Request | Description | Request fees | Example |
ListObjects | Lists all objects in a bucket. | Each call to the ListObjects or ListObjectsV2 API is counted as one Put-class request. The total number of requests required depends on the number of objects returned per call. | For example, if a bucket contains 10,000 objects:
|
ListObjectsV2 | |||
DeleteMultipleObjects | Deletes multiple objects from a bucket in a single batch operation. | Each call to the DeleteMultipleObjects API is counted as one Put-class request. The total number of requests required depends on the number of objects processed per call. | For example, if a bucket contains 10,000 objects:
|
CommitTransition | Transitions the storage class of objects based on a lifecycle rule. | The cost is calculated based on the number of objects transitioned. Each object transition is counted as one Put-class request. | For example, if a lifecycle rule is configured to transition 1,000 objects with the prefix 'dir' from Standard to Infrequent Access (IA) storage after 100 days, the operation is billed as 1,000 Put-class requests. |
ExpireObject | Deletes objects based on a lifecycle rule. | A call to the ExpireObject API is counted as one Put-type request. The number of Put-type requests corresponds to the number of files hit by lifecycle deletion rules. | For example, if a lifecycle rule is configured to delete 1,000 objects with the prefix 'dir' after 365 days, the operation is billed as 1,000 Put-class requests. |
Billing methods
Selection guide
We recommend that you refer to the following table to learn about the features and scenarios of different billing methods. This helps you select an appropriate billing method to reduce request fees.
Billing method | Description | Features | Scenarios |
Pay-as-you-go | All billable items use the pay-as-you-go billing method by default. You are billed for your actual usage of each item after you use the resources. | The number of data requests fluctuates significantly and is difficult to predict. |
|
Request Plan - Standard | This resource plan covers Put and Get requests for Standard objects. Usage is deducted from the resource plan first during billing. You must purchase a resource plan before using it. | The number of requests for Standard data is relatively stable and predictable. |
|
Request Plan - Non-Standard | This resource plan covers Put and Get requests for Infrequent Access, Archive, and Cold Archive objects. Usage is deducted from the resource plan first during billing. You must purchase a resource plan before using it. | The number of requests for Infrequent Access, Archive, and Cold Archive data is relatively stable and predictable. | Scenarios where you need to upload a large amount of data for long-term storage that is accessed infrequently, such as once or twice a year. |
Support
The following table lists the billing methods supported for each billable item.
Item | Pay-as-you-go | Resource Plan |
Number of PUT requests | √ | × |
Number of GET requests | √ | × |
Number of Cold Archive retrieval requests | √ | × |
Number of Deep Cold Archive retrieval requests | √ | × |
FAQ
Can requesters, instead of the bucket owner, pay for request fees?
If you want requesters instead of the bucket owner to pay fees for their PUT requests and GET requests, you can enable pay-by-requester for the bucket. For more information, see Pay-by-requester.
Reference
For information about further billing details, see Query bills.