控制台指南

最佳实践

开发者指南

API 文档

SDK 文档

存储桶操作

最近更新时间:2021-05-10 15:50:27

简介

本文档提供关于存储桶基本操作的 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)
}
目录