生命周期

最后更新时间:2021-11-08 14:34:44

    简介

    本文档提供关于生命周期的 API 概览以及 SDK 示例代码。

    API 操作名 操作描述
    PUT Bucket lifecycle 设置生命周期 设置存储桶的生命周期管理的配置
    GET Bucket lifecycle 查询生命周期 查询存储桶生命周期管理的配置
    DELETE Bucket lifecycle 删除生命周期 删除存储桶生命周期管理的配置

    设置生命周期

    功能说明

    设置指定存储桶的生命周期配置信息(PUT Bucket lifecycle)。

    方法原型

    func (s *BucketService) PutLifecycle(ctx context.Context, opt *BucketPutLifecycleOptions) (*Response, error)
    

    请求示例

    lc := &cos.BucketPutLifecycleOptions{
       Rules: []cos.BucketLifecycleRule{
           {
               ID:     "1234",
               Filter: &cos.BucketLifecycleFilter{Prefix: "test"},
               Status: "Enabled",
               Transition: &cos.BucketLifecycleTransition{
                   Days:         10,
                   StorageClass: "Standard",
               },
           },
           {
               ID:     "123422",
               Filter: &cos.BucketLifecycleFilter{Prefix: "gg"},
               Status: "Disabled",
               Expiration: &cos.BucketLifecycleExpiration{
                   Days: 10,
               },
           },
       },
    }
    _, err := client.Bucket.PutLifecycle(context.Background(), lc)
    if err != nil {
       panic(err)
    }
    

    参数说明

    type BucketLifecycleRule struct {
    ID                             string
    Status                         string
    Filter                         *BucketLifecycleFilter
    Transition                     *BucketLifecycleTransition
    Expiration                     *BucketLifecycleExpiration
    AbortIncompleteMultipartUpload  *BucketLifecycleAbortIncompleteMultipartUpload 
    }
    type BucketLifecycleFilter struct {
    Prefix       string 
    }
    type BucketLifecycleTransition struct {
    Date         string 
    Days         int    
    StorageClass string
    }
    type BucketLifecycleExpiration struct {
    Date string 
    Days int    
    }
    type BucketLifecycleAbortIncompleteMultipartUpload struct {
    DaysAfterInitiation string 
    }
    
    参数名称 参数描述 类型 是否必填
    BucketLifecycleRule 设置对应的规则,包括 ID,Filter,Status,Expiration,Transition,AbortIncompleteMultipartUpload List
    ID 设置规则的 ID, 用于唯一标识生命周期规则,多条规则 ID 需唯一 String
    Status 设置 Rule 是否启用,可选值为 Enabled 或者 Disabled String
    Filter 用于描述规则影响的 Object 集合,如需设置 Bucket 中的所有 objects,请设置 Prefix 为空 Struct
    Transition 设置 Object 转换存储类型规则,可以指定天数 Days 或者指定日期 Date,Date 的格式必须是 GMT ISO 8601。StorageClass 可选 Standard_IA,Archive,可以同时设置多条此类规则 Struct
    Expiration 设置 Object 过期规则,可以指定天数 Days 或者指定日期 Date,Date 的格式必须是 GMT ISO 8601 Struct
    AbortIncompleteMultipartUpload 指明分块上传开始后多少天内必须完成上传 Struct

    查询生命周期

    功能说明

    查询存储桶的生命周期管理配置(GET Bucket lifecycle)。

    方法原型

    func (s *BucketService) GetLifecycle(ctx context.Context) (*BucketGetLifecycleResult, *Response, error)
    

    请求示例

    _, _, err := client.Bucket.GetLifecycle(context.Background())
    if err != nil {
       panic(err)
    }
    

    返回结果说明

    通过 GetBucketLifecycleResult 返回请求结果。

    type BucketLifecycleRule struct {
    ID                             string
    Status                         string
    Filter                         *BucketLifecycleFilter
    Transition                     *BucketLifecycleTransition
    Expiration                     *BucketLifecycleExpiration
    AbortIncompleteMultipartUpload  *BucketLifecycleAbortIncompleteMultipartUpload 
    }
    type BucketLifecycleFilter struct {
    Prefix       string 
    }
    type BucketLifecycleTransition struct {
    Date         string 
    Days         int    
    StorageClass string
    }
    type BucketLifecycleExpiration struct {
    Date string 
    Days int    
    }
    type BucketLifecycleAbortIncompleteMultipartUpload struct {
    DaysAfterInitiation string 
    }
    
    参数名称 参数描述 类型 是否必填
    BucketLifecycleRule 设置对应的规则,包括 ID,Filter,Status,Expiration,Transition,AbortIncompleteMultipartUpload List
    ID 规则的唯一 ID String
    Status 设置 Rule 是否启用,可选值为 Enabled 或者 Disabled String
    Filter 用于描述规则影响的 Object 集合,如需设置 Bucket 中的所有 objects,请设置 Prefix 为空 Struct
    Transition 设置 Object 转换存储类型规则,可以指定天数 Days 或者指定日期 Date,Date 的格式必须是 GMT ISO 8601。StorageClass 可选 Standard_IA,Archive,可以同时设置多条此类规则 struct
    Expiration 设置 Object 过期规则,可以指定天数 Days 或者指定日期 Date,Date 的格式必须是 GMT ISO 8601 Struct
    AbortIncompleteMultipartUpload 指明分块上传开始后多少天内必须完成上传 Struct

    删除生命周期

    功能说明

    删除存储桶生命周期管理的配置(DELETE Bucket lifecycle)。

    方法原型

    func (s *BucketService) DeleteLifecycle(ctx context.Context) (*Response, error)
    

    请求示例

    _, err := client.Bucket.DeleteLifecycle(context.Background())
    if err != nil {
       panic(err)
    }