存储桶复制

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

    简介

    本文档提供关于存储桶复制的 API 概览以及 SDK 示例代码。

    API 操作名 操作描述
    PUT Bucket replication 设置存储桶复制 对已启用版本控制的存储桶配置存储桶复制规则
    GET Bucket replication 查询存储桶复制 查询存储桶的存储桶复制规则
    DELETE Bucket replication 删除存储桶复制 删除存储桶的存储桶复制规则

    设置存储桶复制

    功能说明

    设置指定存储桶的存储桶复制规则(PUT Bucket replication)。

    方法原型

    func (s *BucketService) PutBucketReplication(ctx context.Context, opt *PutBucketReplicationOptions) (*Response, error)

    请求示例

    opt := &cos.PutBucketReplicationOptions{
        // qcs::cam::uin/[UIN]:uin/[Subaccount]
        Role: "qcs::cam::uin/100000000001:uin/100000000001",
        Rule: []cos.BucketReplicationRule{
            {
                ID: "1",
                // Enabled or Disabled
                Status: "Enabled",
                Destination: &cos.ReplicationDestination{
                    // qcs::cos:[Region]::[Bucketname-Appid]
                    Bucket: "qcs::cos:ap-beijing::destinationbucket-1250000000",
                },
            },
        },
    }
    _, err := client.Bucket.PutBucketReplication(context.Background(), opt)
    if err != nil {
        panic(err)
    }

    参数说明

    type PutBucketReplicationOptions struct {
        Role    string
        Rule    []BucketReplicationRule
    }
    type BucketReplicationRule struct {
        ID          string
        Status      string
        Prefix      string
        Destination *ReplicationDestination
    }
    type ReplicationDestination struct {
        Bucket       string
        StorageClass string
    }
    参数名称 描述 类型
    PutBucketReplicationOptions 存储桶复制规则 struct
    Role 发起者身份标示:qcs::cam::uin/<OwnerUin>:uin/<SubUin> string
    Rule 具体配置信息,最多支持1000个,所有策略只能指向一个目标存储桶 struct
    ID 用来标注具体 Rule 的名称 string
    Status 标识 Rule 是否生效,枚举值:Enabled, Disabled string
    Prefix 前缀匹配策略,不可重叠,重叠返回错误。前缀匹配根目录为空 string
    Destination 目标存储桶信息 struct
    Bucket 资源标识符:qcs::cos:[region]::[bucketname-AppId] string
    StorageClass 存储级别,枚举值:STANDARD,STANDARD_IA。更多类型请参见上方 API 概览。默认值:原存储类型 string

    查询存储桶复制

    功能说明

    查询指定存储桶的存储桶复制规则(GET Bucket replication)。

    方法原型

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

    请求示例

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

    返回结果说明

    type GetBucketReplicationResult struct {
        Role    string
        Rule    []BucketReplicationRule
    }
    type BucketReplicationRule struct {
        ID          string
        Status      string
        Prefix      string
        Destination *ReplicationDestination
    }
    type ReplicationDestination struct {
        Bucket       string
        StorageClass string
    }
    参数名称 描述 类型
    GetBucketReplicationResult 存储桶复制规则 struct
    Role 发起者身份标示:qcs::cam::uin/<OwnerUin>:uin/<SubUin> string
    Rule 具体配置信息,最多支持1000个,所有策略只能指向一个目标存储桶 struct
    ID 用来标注具体 Rule 的名称 string
    Status 标识 Rule 是否生效,枚举值:Enabled,isabled string
    Prefix 前缀匹配策略,不可重叠,重叠返回错误。前缀匹配根目录为空 string
    Destination 目标存储桶信息 struct
    Bucket 资源标识符:qcs::cos:[region]::[bucketname-AppId] string
    StorageClass 存储级别,枚举值:STANDARD,STANDARD_IA。更多类型请参见上方 API 概览。默认值:原存储类型 string

    删除存储桶复制

    功能说明

    删除指定存储桶的存储桶复制规则(DELETE Bucket replication)。

    方法原型

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

    请求示例

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