Help Center/ Object Storage Service/ API Reference/ APIs/ Advanced Bucket Settings/ Configuring Storage Class for a Bucket
Updated on 2026-03-06 GMT+08:00

Configuring Storage Class for a Bucket

Functions

This operation sets or updates the default storage class for a bucket.

To perform this operation, you must have the PutBucketStoragePolicy permission. By default, only the bucket owner can perform this operation. The bucket owner can grant the permission to other users by configuring the bucket policy or user policy.

If you do not specify a storage class when uploading or copying an object, or initiating a multipart upload, the object inherits the bucket's storage class.

Authorization Information

To call this API, you must be the bucket owner or have the permission to configure storage class for a bucket. You are advised to use IAM or bucket policies for authorization. For details about OBS authorization methods, see Differences Between OBS Permissions Control Methods.

  • If you use IAM for authorization, you need to use either role/policy-based authorization or identity policy-based authorization and configure the required permissions:
    • If you use role/policy-based authorization (IAM v3 APIs in the old IAM version), you need to grant the obs:bucket:PutBucketStoragePolicy permission. For details, see Creating a Custom IAM Policy.
    • If you use identity policy-based authorization (IAM v5 APIs in the new IAM version), you need to grant the obs:bucket:putBucketStoragePolicy permission, as shown in the following table. For details, see Creating a Custom IAM Identity Policy.

      Action

      Access Level

      Resource Type (*: Required)

      Condition Key

      Alias

      Dependencies

      obs:bucket:putBucketStoragePolicy

      Write

      bucket *

      -

      -

      -

      • obs:EpochTime
      • obs:SourceIp
      • obs:TlsVersion
      • obs:CustomDomain
  • If you use bucket policies for authorization, you need to grant the obs:bucket:putBucketStoragePolicy permission. For details, see Creating a Custom Bucket Policy.

Request Syntax

1
2
3
4
5
6
7
8
9
PUT /?storageClass HTTP/1.1 
Host: bucketname.obs.region.myhuaweicloud.com 
Date: date 
Content-Type: type 
Content-Length: length 
Authorization: authorization 

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<StorageClass xmlns="http://obs.ap-southeast-1.myhuaweicloud.com/doc/2015-06-30/">STANDARD</StorageClass>

Request Parameters

This request contains no parameters.

Request Headers

This request uses common headers. For details, see Table 3.

Request Elements

This request needs an additional element to specify the default bucket storage class. For details, see Table 1.

Table 1 Additional request elements

Parameter

Mandatory (Yes/No)

Type

Description

StorageClass

Yes

String

Definition:

The default storage class for a bucket.

Constraints:

None

Range:

  • STANDARD: Standard storage
  • WARM: Infrequent Access storage
  • COLD: Archive storage
  • DEEP_ARCHIVE: Deep Archive storage (limited OBT)

Default value:

If no default storage class is configured for a bucket, the default value is STANDARD (Standard).

Response Syntax

1
2
HTTP/1.1 status_code
Date: date 

Response Headers

The response to the request uses common headers. For details, see Table 1.

Response Elements

This response contains no elements.

Error Responses

No special error responses are returned. For details about error responses, see Table 2.

Sample Request

1
2
3
4
5
6
7
8
9
PUT /?storageClass HTTP/1.1
User-Agent: curl/7.29.0
Host: examplebucket.obs.region.myhuaweicloud.com
Accept: */*
Date: WED, 01 Jul 2015 03:18:19 GMT
Authorization: OBS H4IPJX0TQTHTHEBQQCEC:Tf6XbndPx/yNgfAVQ6KIXr7tMj4=
Content-Length: 87

<StorageClass xmlns="http://obs.ap-southeast-1.myhuaweicloud.com/doc/2015-06-30/">STANDARD</StorageClass>

Sample Response

1
2
3
4
5
6
HTTP/1.1 200 OK
Server: OBS
x-obs-request-id: BF2600000164368E704B571F328A8797
x-obs-id-2: 32AAAQAAEAABSAAgAAEAABAAAQAAEAABCSIsw3tPtUn6damTI5acQmQAcEfmTwl3
Date: WED, 01 Jul 2015 03:18:19 GMT
Content-Length: 0