Updated on 2024-03-04 GMT+08:00

Requests

When you perform operations on OBS using OBS Console, tools, the API, or SDKs, you are actually calling APIs. Each API call is counted as a request. You will be billed for the number of OBS API calls (requests).

Request Types

OBS requests fall into the following types:

  • Read requests: GET (for downloading objects), HEAD (for obtaining bucket locations or bucket policies), LIST (for listing objects), and others
  • Write requests: PUT/POST (for uploading objects), COPY (for copying objects), and others
  • Delete requests: DELETE (for deleting objects or canceling multipart uploads) and others
  • Lifecycle-based storage class transition requests: transition requests generated when objects are transitioned from Standard to Infrequent Access or Archive or Deep Archive, or from Infrequent Access to Archive or Deep Archive, or from Archive to Deep Archive

Billing Description

Billing Item

Sub Item

Description

Billing Mode

Requests

GET, PUT, and storage class transition requests (during the execution of a lifecycle rule)

GET, PUT, and storage class transition requests, including PUT, POST, COPY, LIST, GET, and HEAD

Pay-per-use

DELETE requests

Requests for deleting objects or canceling multipart uploads

Pay-per-use in some regions and free in the other regions. For details, see Pricing Details.

Request Billing

Requests can only be billed on a pay-per-use basis. The unit prices for different types of requests are the same. For details, see Product Pricing Details.

If you buy a monthly Standard storage package (with a validity period of less than 1 year), you will receive a quota of free read and write requests. The free quota is used first. After the free quota is used up, subsequent requests are billed on a pay-per-use basis. You will be rewarded certain free quota each time you buy a monthly Standard storage package, and all the rewarded quotas are accumulated.

Except the requests whose status code is 5XX or 403, all other requests returned by the server are counted in the number of requests.

Billing Examples

The prices in the following examples are for reference only. For the actual prices, see Pricing Details.

Example 1

Take object upload as an example. Each time you upload an object or an object part is counted as a request. Suppose you need to upload 100 objects:

  • If you call the PutObject API to upload all of the objects, 100 PUT requests will be sent.
  • If there are some large objects that need to be uploaded using multipart uploads, the final number of requests will be greater than 100, because additional requests are required for processing object parts, initiating multipart uploads, or assembling parts.

Example 2

Each operation on OBS Console delivers a request.

For example, when you open the homepage of OBS Console, OBS starts loading the list of buckets and delivers requests for obtaining the bucket list and bucket locations. Likewise, when you switch to the Overview page of a bucket, requests will be sent to query the bucket storage information and bucket metadata.

Example 3

Take object download as an example. Each time you download an object is counted as a request. Assume that you need to download 100 objects:

  • If the objects are in the Standard or Infrequent Access storage class, downloading them will send 100 GET requests.
  • If these 100 objects are in the Archive storage class and direct reading is not enabled for the bucket, you need to restore the objects before downloading them. Restoring 100 objects to Standard will generate 100 PUT requests. Then, downloading these 100 Standard objects will send another 100 GET requests. In this case, there are 200 requests in total.
  • If these 100 objects are in the Archive storage class and direct reading has been enabled for the bucket, you can directly download the objects without restoring them first. In this case, a total of 100 GET requests will be sent.

Pricing

For detailed prices, see Product Pricing Details.