Configuring Storage Class for a Bucket
Functions
OBS allows you to configure a default storage class for a bucket. After doing so, 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. For more information about storage classes, see Configuring a 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)
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
The following is an example request. Replace BucketName with your bucket name and RegionID with the ID of the region where your bucket resides. You can obtain the region ID by referring to Supported Regions.
PUT /?storageClass HTTP/1.1 Host: BucketName.obs.RegionID.myhuaweicloud.com Date: GMT Date Content-Type: type Content-Length: BodyLength Authorization: SignatureValue <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <StorageClass xmlns="http://obs.ap-southeast-1.myhuaweicloud.com/doc/2015-06-30/">STANDARD</StorageClass>
URI Parameters
| Parameter | Mandatory | Type | Description |
|---|---|---|---|
| /?storageClass | Yes | String | Definition An identifier that marks this API as related to the default storage class of a bucket. Constraints When calculating the signature, add /BucketName/?storageClass to CanonicalizedResource. For details, see Using an Authorization Header. Range /?storageClass Default Value N/A |
Request Headers
This request uses common headers. For details, see Table 3.
Request Body
This request needs a request body parameter to specify the default bucket storage class. For details, see Table 2.
| Parameter | Mandatory (Yes/No) | Type | Description |
|---|---|---|---|
| StorageClass | Yes | String | Definition The default storage class for a bucket. Constraints N/A Range
Default Value If no default storage class is configured for a bucket, the default value is STANDARD (Standard). |
Response Syntax
HTTP/1.1 status_code
Date: GMT Date Response Headers
This response uses common headers. For details, see Table 1.
Response Body
The response of this API does not contain a response body.
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 |
Using SDKs to Call APIs
You are advised to use OBS SDKs to call APIs. SDKs encapsulate APIs to simplify development. You can call SDK API functions to access OBS without manually calculating signatures.
References
- To use OBS Browser+ to specify the default storage class for a bucket, see Creating a Bucket.
- To use obsutil to specify the default storage class for a bucket, see Creating a Bucket.
- For more information about storage classes, see Configuring a Storage Class.
- For details about the billing items involved in API operations, see Billing Items.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot

