Configuring Lifecycle Rules for a Bucket
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 Results
| 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) } } }
Last Article: Deleting a Bucket Policy
Next Article: Obtaining Lifecycle Rules of a Bucket
Did this article solve your problem?
Thank you for your score!Your feedback would help us improve the website.