存储桶管理

最近更新时间:2019-05-22 18:11:40

简介

本文档提供关于跨域访问和生命周期相关的 API 概览以及 SDK 示例代码。

跨域访问

API 操作名 操作描述
PUT Bucket cors 设置跨域配置 设置存储桶的跨域访问权限
GET Bucket cors 查询跨域配置 查询存储桶的跨域访问配置信息
DELETE Bucket cors 删除跨域配置 删除存储桶的跨域访问配置信息

生命周期

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

跨域访问

设置跨域配置

功能说明

设置指定存储桶的跨域访问配置信息(PUT Bucket cors)。

方法原型

func (s *BucketService) PutCORS(ctx context.Context, opt *BucketPutCORSOptions) (*Response, error)

请求示例

opt := &cos.BucketPutCORSOptions{
    Rules: []cos.BucketCORSRule{
        {
            AllowedOrigins: []string{"http://www.qq.com"},
            AllowedMethods: []string{"PUT", "GET"},
            AllowedHeaders: []string{"x-cos-meta-test", "x-cos-xx"},
            MaxAgeSeconds:  500,
            ExposeHeaders:  []string{"x-cos-meta-test1"},
        },
        {
            ID:             "1234",
            AllowedOrigins: []string{"http://www.baidu.com", "twitter.com"},
            AllowedMethods: []string{"PUT", "GET"},
            MaxAgeSeconds:  500,
        },
    },
}
resp, err := client.Bucket.PutCORS(context.Background(), opt)

参数说明

type BucketCORSRule struct {
    ID             string   
    AllowedMethods []string 
    AllowedOrigins []string 
    AllowedHeaders []string 
    MaxAgeSeconds  int      
    ExposeHeaders  []string 
}
参数名称 参数描述 类型 必填
BucketCORSRule 设置对应的跨域规则,包括 ID,MaxAgeSeconds,AllowedOrigin,AllowedMethod,AllowedHeader,ExposeHeader struct
ID 设置规则的 ID string
AllowedMethods 设置允许的方法,如 GET,PUT,HEAD,POST,DELETE []string
AllowedOrigins 设置允许的访问来源,如 "http://cloud.tencent.com",支持通配符 * []string
AllowedHeaders 设置请求可以使用哪些自定义的 HTTP 请求头部,支持通配符 * []string
MaxAgeSeconds 设置 OPTIONS 请求得到结果的有效期 int
ExposeHeaders 设置浏览器可以接收到的来自服务器端的自定义头部信息 []string

查询跨域配置

功能说明

查询存储桶的跨域访问配置信息(GET Bucket cors)。

方法原型

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

请求示例

v, resp, err := client.Bucket.GetCORS(context.Background())

返回结果说明

通过 GetBucketCORSResult 返回请求结果。

type BucketCORSRule struct {
    ID             string   
    AllowedMethods []string 
    AllowedOrigins []string 
    AllowedHeaders []string 
    MaxAgeSeconds  int      
    ExposeHeaders  []string 
}
参数名称 参数描述 类型 必填
BucketCORSRule 设置对应的跨域规则,包括 ID,MaxAgeSeconds,AllowedOrigin,AllowedMethod,AllowedHeader,ExposeHeader struct
ID 设置规则的 ID string
AllowedMethods 设置允许的方法,如 GET,PUT,HEAD,POST,DELETE []string
AllowedOrigins 设置允许的访问来源,如 "http://cloud.tencent.com",支持通配符 * []string
AllowedHeaders 设置请求可以使用哪些自定义的 HTTP 请求头部,支持通配符 * []string
MaxAgeSeconds 设置 OPTIONS 请求得到结果的有效期 int
ExposeHeaders 设置浏览器可以接收到的来自服务器端的自定义头部信息 []string

删除跨域配置

功能说明

删除指定存储桶的跨域访问配置(DELETE Bucket cors)。

方法原型

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

请求示例

resp, err := client.Bucket.DeleteCORS(context.Background())

生命周期

设置生命周期

功能说明

设置指定存储桶的生命周期配置信息(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,
            },
        },
    },
}
resp, err := client.Bucket.PutLifecycle(context.Background(), lc)

参数说明

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)

请求示例

v, resp, err := client.Bucket.GetLifecycle(context.Background()) 

返回结果说明

通过 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)

请求示例

resp, err := client.Bucket.DeleteLifecycle(context.Background())