API | 操作名 | 操作描述 |
设置生命周期 | 设置存储桶的生命周期管理的配置 | |
查询生命周期 | 查询存储桶生命周期管理的配置 | |
删除生命周期 | 删除存储桶生命周期管理的配置 |
func (s *BucketService) PutLifecycle(ctx context.Context, opt *BucketPutLifecycleOptions) (*Response, error)
package mainimport ("context""github.com/tencentyun/cos-go-sdk-v5""net/http""net/url""os")func main() {// 存储桶名称,由 bucketname-appid 组成,appid 必须填入,可以在 COS 控制台查看存储桶名称。 https://console.tencentcloud.com/cos5/bucket// 替换为用户的 region,存储桶 region 可以在 COS 控制台“存储桶概览”查看 https://console.tencentcloud.com/ ,关于地域的详情见 https://www.tencentcloud.com/document/product/436/6224?from_cn_redirect=1 。u, _ := url.Parse("https://examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com")b := &cos.BaseURL{BucketURL: u}client := cos.NewClient(b, &http.Client{Transport: &cos.AuthorizationTransport{// 通过环境变量获取密钥// 环境变量 SECRETID 表示用户的 SecretId,登录访问管理控制台查看密钥,https://console.tencentcloud.com/cam/capiSecretID: os.Getenv("SECRETID"), // 用户的 SecretId,建议使用子账号密钥,授权遵循最小权限指引,降低使用风险。子账号密钥获取可参见 https://www.tencentcloud.com/document/product/598/37140?from_cn_redirect=1// 环境变量 SECRETKEY 表示用户的 SecretKey,登录访问管理控制台查看密钥,https://console.tencentcloud.com/cam/capiSecretKey: os.Getenv("SECRETKEY"), // 用户的 SecretKey,建议使用子账号密钥,授权遵循最小权限指引,降低使用风险。子账号密钥获取可参见 https://www.tencentcloud.com/document/product/598/37140?from_cn_redirect=1},})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 BucketPutLifecycleOptions struct {XMLName xml.NameRules []BucketLifecycleRule}type BucketLifecycleRule struct {ID stringStatus stringFilter *BucketLifecycleFilterTransition []BucketLifecycleTransitionExpiration *BucketLifecycleExpirationAbortIncompleteMultipartUpload *BucketLifecycleAbortIncompleteMultipartUploadNoncurrentVersionTransition []BucketLifecycleNoncurrentVersionNoncurrentVersionExpiration *BucketLifecycleNoncurrentVersion}type BucketLifecycleFilter struct {Prefix stringTag *BucketTaggingTagAnd *BucketLifecycleAndOperator}type BucketLifecycleTransition struct {Date stringDays intStorageClass string}type BucketLifecycleExpiration struct {Date stringDays intExpiredObjectDeleteMarker bool}type BucketLifecycleNoncurrentVersion struct {NoncurrentDays intStorageClass string}type BucketLifecycleAbortIncompleteMultipartUpload struct {DaysAfterInitiation int}
参数名称 | 父节点 | 参数描述 | 类型 | 是否必选 |
LifecycleConfiguration | 无 | 生命周期配置 | Container | 是 |
Rule | LifecycleConfiguration | 规则描述 | Container | 是 |
ID | LifecycleConfiguration.Rule | 用于唯一地标识规则,长度不能超过255个字符 | String | 否 |
Filter | LifecycleConfiguration.Rule | Filter 用于描述规则影响的 Object 集合 | Container | 是 |
And | LifecycleConfiguration.Rule .Filter | 对象筛选器中的一个子集,仅当需要指定多种筛选规则时才需要 此元素,例如:同时指定 Prefix 和 Tag 筛选,或同时指定多个 Tag 筛选。 | Container | 否 |
Prefix | LifecycleConfiguration.Rule .Filter.And | 指定规则所适用的前缀。匹配前缀的对象受该规则影响,Prefix 最多只能有一个 | String | 否 |
Tag | LifecycleConfiguration.Rule .Filter.And | 标签集合,最多支持10个标签 | Container | 否 |
Key | LifecycleConfiguration.Rule .Filter.And.Tag | 标签的 Key,长度不超过128字节,支持英文字母、数字、空格、加号、 减号、下划线、等号、点号、冒号、斜线 | String | 否 |
Value | LifecycleConfiguration.Rule .Filter.And.Tag | 标签的 Value,长度不超过256字节, 支持英文字母、数字、空格、加号、 减号、下划线、等号、点号、冒号、斜线 | String | 否 |
Status | LifecycleConfiguration.Rule | 指明规则是否启用,枚举值:Enabled,Disabled | String | 是 |
Expiration | LifecycleConfiguration.Rule | 规则过期属性 | Container | 否 |
Transition | LifecycleConfiguration.Rule | 规则转换属性,用于描述对象何时进行存储类型的转换和转换的存储类型 | Container | 否 |
Days | LifecycleConfiguration.Rule .Transition 或 Expiration | 指明规则对应的动作在对象最后的修改日期过后多少天操作: 如果是 Transition,该字段有效值是非负整数 如果是 Expiration,该字段有效值为正整数,最大支持3650天 | Integer | 否 |
Date | LifecycleConfiguration.Rule .Transition 或 Expiration | 指明规则对应的动作在何时操作,支持 2007-12-01T12:00:00.000Z 和2007-12-01T00:00:00+08:00 这两种格式 | String | 否 |
ExpiredObjectDeleteMarker | LifecycleConfiguration.Rule .Expiration | 删除过期对象删除标记,枚举值 true,false | String | 否 |
AbortIncompleteMultipartUpload | LifecycleConfiguration.Rule | 设置允许分片上传保持运行的最长时间 | Container | 否 |
DaysAfterInitiation | LifecycleConfiguration.Rule .AbortIncompleteMultipartUpload | 指明分片上传开始后多少天内必须完成上传 | Integer | 是 |
NoncurrentVersionExpiration | LifecycleConfiguration.Rule | 指明非当前版本对象何时过期 | Container | 否 |
NoncurrentVersionTransition | LifecycleConfiguration.Rule | 指明非当前版本对象何时进行存储类型的转换和转换的存储类型 | Container | 否 |
NoncurrentDays | LifecycleConfiguration.Rule .NoncurrentVersionExpiration 或 NoncurrentVersionTransition | 指明规则对应的动作在对象变成非当前版本多少天后执行 如果是 Transition,该字段有效值是非负整数 如果是 Expiration,该字段有效值为正整数,最大支持3650天 | Integer | 否 |
StorageClass | LifecycleConfiguration.Rule .Transition 或 NoncurrentVersionTransition | 指定 Object 沉降后的存储类型,枚举值: STANDARD_IA,MAZ_STANDARD_IA,INTELLIGENT_TIERING,MAZ_INTELLIGENT_TIERING,ARCHIVE,DEEP_ARCHIVE。关于存储类型的介绍,请参见 存储类型概述 | String | 是 |
func (s *BucketService) GetLifecycle(ctx context.Context) (*BucketGetLifecycleResult, *Response, error)
package mainimport ("context""github.com/tencentyun/cos-go-sdk-v5""net/http""net/url""os")func main() {// 存储桶名称,由 bucketname-appid 组成,appid 必须填入,可以在 COS 控制台查看存储桶名称。 https://console.tencentcloud.com/cos5/bucket// 替换为用户的 region,存储桶 region 可以在 COS 控制台“存储桶概览”查看 https://console.tencentcloud.com/ ,关于地域的详情见 https://www.tencentcloud.com/document/product/436/6224?from_cn_redirect=1 。u, _ := url.Parse("https://examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com")b := &cos.BaseURL{BucketURL: u}client := cos.NewClient(b, &http.Client{Transport: &cos.AuthorizationTransport{// 通过环境变量获取密钥// 环境变量 SECRETID 表示用户的 SecretId,登录访问管理控制台查看密钥,https://console.tencentcloud.com/cam/capiSecretID: os.Getenv("SECRETID"), // 用户的 SecretId,建议使用子账号密钥,授权遵循最小权限指引,降低使用风险。子账号密钥获取可参见 https://www.tencentcloud.com/document/product/598/37140?from_cn_redirect=1// 环境变量 SECRETKEY 表示用户的 SecretKey,登录访问管理控制台查看密钥,https://console.tencentcloud.com/cam/capiSecretKey: os.Getenv("SECRETKEY"), // 用户的 SecretKey,建议使用子账号密钥,授权遵循最小权限指引,降低使用风险。子账号密钥获取可参见 https://www.tencentcloud.com/document/product/598/37140?from_cn_redirect=1},})_, _, err := client.Bucket.GetLifecycle(context.Background())if err != nil {panic(err)}}
type BucketLifecycleRule struct {ID stringStatus stringFilter *BucketLifecycleFilterTransition *BucketLifecycleTransitionExpiration *BucketLifecycleExpirationAbortIncompleteMultipartUpload *BucketLifecycleAbortIncompleteMultipartUpload}type BucketLifecycleFilter struct {Prefix string}type BucketLifecycleTransition struct {Date stringDays intStorageClass string}type BucketLifecycleExpiration struct {Date stringDays 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 | 否 |
func (s *BucketService) DeleteLifecycle(ctx context.Context) (*Response, error)
package mainimport ("context""github.com/tencentyun/cos-go-sdk-v5""net/http""net/url""os")func main() {// 存储桶名称,由bucketname-appid 组成,appid 必须填入,可以在 COS 控制台查看存储桶名称。 https://console.tencentcloud.com/cos5/bucket// 替换为用户的 region,存储桶 region 可以在 COS 控制台“存储桶概览”查看 https://console.tencentcloud.com/ ,关于地域的详情见 https://www.tencentcloud.com/document/product/436/6224?from_cn_redirect=1 。u, _ := url.Parse("https://examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com")b := &cos.BaseURL{BucketURL: u}client := cos.NewClient(b, &http.Client{Transport: &cos.AuthorizationTransport{// 通过环境变量获取密钥// 环境变量 SECRETID 表示用户的 SecretId,登录访问管理控制台查看密钥,https://console.tencentcloud.com/cam/capiSecretID: os.Getenv("SECRETID"), // 用户的 SecretId,建议使用子账号密钥,授权遵循最小权限指引,降低使用风险。子账号密钥获取可参见 https://www.tencentcloud.com/document/product/598/37140?from_cn_redirect=1// 环境变量 SECRETKEY 表示用户的 SecretKey,登录访问管理控制台查看密钥,https://console.tencentcloud.com/cam/capiSecretKey: os.Getenv("SECRETKEY"), // 用户的 SecretKey,建议使用子账号密钥,授权遵循最小权限指引,降低使用风险。子账号密钥获取可参见 https://www.tencentcloud.com/document/product/598/37140?from_cn_redirect=1},})_, err := client.Bucket.DeleteLifecycle(context.Background())if err != nil {panic(err)}}
本页内容是否解决了您的问题?