生命周期

最后更新时间:2020-12-29 17:13:09

    简介

    本文档提供关于生命周期的 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 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)
    }