Updated on 2022-02-10 GMT+08:00
PUT Bucket lifecycle
API Description
You can use this API to set lifecycle rules for a bucket, to periodically transit storage classes of objects and delete objects in the bucket.
Method Definition
func (obsClient ObsClient) SetBucketLifecycleConfiguration(input *SetBucketLifecycleConfigurationInput) (output *BaseModel, err error)
Method Definition If a Signed URL Is Used
func (obsClient ObsClient) SetBucketLifecycleConfigurationWithSignedUrl(signedUrl string, actualSignedRequestHeaders http.Header, data io.Reader) (output *BaseModel, err error)
Request Parameter
|
Field |
Type |
Optional or Mandatory |
|---|---|---|
|
input |
Mandatory |
Returned Result
|
Field |
Type |
|---|---|
|
output |
|
|
err |
error |
Sample Code
func main() {
input := &obs.SetBucketLifecycleConfigurationInput{}
input.Bucket = "bucketname"
var lifecycleRules [2]obs.LifecycleRule
lifecycleRule0 := obs.LifecycleRule{}
lifecycleRule0.ID = "rule0"
lifecycleRule0.Prefix = "prefix0"
lifecycleRule0.Status = obs.RuleStatusEnabled
var transitions [2]obs.Transition
transitions[0] = obs.Transition{}
transitions[0].Days = 30
transitions[0].StorageClass = obs.StorageClassWarm
transitions[1] = obs.Transition{}
transitions[1].Days = 60
transitions[1].StorageClass = obs.StorageClassCold
lifecycleRule0.Transitions = transitions[:]
lifecycleRule0.Expiration.Days = 100
lifecycleRule0.NoncurrentVersionExpiration.NoncurrentDays = 20
lifecycleRules[0] = lifecycleRule0
lifecycleRule1 := obs.LifecycleRule{}
lifecycleRule1.Status = obs.RuleStatusEnabled
lifecycleRule1.ID = "rule1"
lifecycleRule1.Prefix = "prefix1"
lifecycleRule1.Expiration.Date = time.Now().Add(time.Duration(24) * time.Hour)
var noncurrentTransitions [2]obs.NoncurrentVersionTransition
noncurrentTransitions[0] = obs.NoncurrentVersionTransition{}
noncurrentTransitions[0].NoncurrentDays = 30
noncurrentTransitions[0].StorageClass = obs.StorageClassWarm
noncurrentTransitions[1] = obs.NoncurrentVersionTransition{}
noncurrentTransitions[1].NoncurrentDays = 60
noncurrentTransitions[1].StorageClass = obs.StorageClassCold
lifecycleRule1.NoncurrentVersionTransitions = noncurrentTransitions[:]
lifecycleRules[1] = lifecycleRule1
input.LifecycleRules = lifecycleRules[:]
output, err := obsClient.SetBucketLifecycleConfiguration(input)
if err == nil {
fmt.Printf("RequestId:%s\n", output.RequestId)
} else {
if obsError, ok := err.(obs.ObsError); ok {
fmt.Println(obsError.Code)
fmt.Println(obsError.Message)
} else {
fmt.Println(err)
}
}
}
Parent topic: Bucket-Related APIs
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.
The system is busy. Please try again later.
For any further questions, feel free to contact us through the chatbot.
Chatbot