存储桶操作

最后更新时间:2021-07-13 15:30:00

    简介

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

    API 操作名 操作描述
    GET Service 查询存储桶列表 查询指定账号下所有的存储桶列表
    PUT Bucket 创建存储桶 在指定账号下创建一个存储桶
    HEAD Bucket 检索存储桶及其权限 检索存储桶是否存在且是否有权限访问
    DELETE Bucket 删除存储桶 删除指定账号下的空存储桶

    查询存储桶列表

    功能说明

    查询指定账号下所有的存储桶列表。

    方法原型

    func (s *ServiceService) Get(ctx context.Context) (*ServiceGetResult, *Response, error)
    

    请求示例

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

    返回结果说明

    通过 GetServiceResult 返回请求结果。

    type ServiceGetResult struct {
      Owner   *Owner  
      Buckets []Bucket 
    }
    type Owner struct {
      ID          string 
      DisplayName string                                              
    }
    type Bucket struct {
    Name       string
      Region     string
      CreationDate string                                               
    } 
    
    参数名称 参数描述 类型
    ID Bucket 所有者的 ID string
    DisplayName Bucket 所有者的名字信息 string
    Name Bucket 的名称 string
    Region Bucket 所在地域 string
    CreationDate Bucket 创建时间。ISO8601 格式,例如 2016-11-09T08:46:32.000Z string

    创建存储桶

    功能说明

    在指定账号下创建一个存储桶。

    方法原型

    func (s *BucketService) Put(ctx context.Context, opt *BucketPutOptions) (*Response, error)
    

    请求示例

    opt := &cos.BucketPutOptions{
       XCosACL: "private",
    }
    _, err := client.Bucket.Put(context.Background(), opt)
    if err != nil {
       panic(err)
    }
    
    // 创建 MAZ 存储桶
    opt.CreateBucketConfiguration = &cos.CreateBucketConfiguration{
       BucketAZConfig: "MAZ",
    }
    _, err := client.Bucket.Put(context.Background(), opt)
    if err != nil {
       panic(err)
    }
    

    参数说明

    type BucketPutOptions struct {
    XCosACL              string 
    XCosGrantRead        string  
    XCosGrantWrite       string  
    XCosGrantFullControl string 
       CreateBucketConfiguration *CreateBucketConfiguration
    }
    type CreateBucketConfiguration struct {
       BucketAZConfig string
    }
    
    参数名称 参数描述 类型 是否必填
    XCosACL 设置 Bucket 的 ACL,如 private,public-read,public-read-write string
    XCosGrantFullControl 赋予指定账户对 Bucket 的读写权限。格式为id=" ",id=" "。当需要给子账户授权时,格式为id="qcs::cam::uin/{OwnerUin}:uin/{SubUin}",当需要给主账户授权时,格式为id="qcs::cam::uin/{OwnerUin}:uin/{OwnerUin}"。例如id="qcs::cam::uin/100000000001:uin/100000000011",id="qcs::cam::uin/100000000001:uin/100000000001" string
    XCosGrantRead 赋予指定账户对 Bucket 的读权限。格式为id=" ",id=" "。当需要给子账户授权时,格式为id="qcs::cam::uin/{OwnerUin}:uin/{SubUin}",当需要给主账户授权时,格式为id="qcs::cam::uin/{OwnerUin}:uin/{OwnerUin}"。例如id="qcs::cam::uin/100000000001:uin/100000000011",id="qcs::cam::uin/100000000001:uin/100000000001" string
    XCosGrantWrite 赋予指定账户对 Bucket 的写权限。格式为id=" ",id=" "。当需要给子账户授权时,格式为id="qcs::cam::uin/{OwnerUin}:uin/{SubUin}",当需要给主账户授权时,格式为id="qcs::cam::uin/{OwnerUin}:uin/{OwnerUin}"。例如id="qcs::cam::uin/100000000001:uin/100000000011",id="qcs::cam::uin/100000000001:uin/100000000001" string
    BucketAZConfig 存储桶 AZ 配置,指定为 MAZ 以创建多 AZ 存储桶。多 AZ 存储类型目前仅支持北京、广州地域 Struct

    检索存储桶及其权限

    功能说明

    检索存储桶是否存在且是否有权限访问。

    方法原型

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

    请求示例

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

    删除存储桶

    功能说明

    删除指定账号下的空存储桶。

    方法原型

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

    请求示例

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