创建桶
更新时间: 2019-03-14 10:05
您可以通过ObsClient.CreateBucket创建桶。
简单创建
以下代码展示如何新建一个桶:
- // 引入依赖包
- import (
- "fmt"
- "obs"
- )
- var ak = "*** Provide your Access Key ***"
- var sk = "*** Provide your Secret Key ***"
- var endpoint = "https://your-endpoint"
- // 创建ObsClient结构体
- var obsClient, _ = obs.New(ak, sk, endpoint)
- func main() {
- input := &obs.CreateBucketInput{}
- input.Bucket = "bucketname"
- // 创建桶
- output, err := obsClient.CreateBucket(input)
- if err == nil {
- fmt.Printf("RequestId:%s\n", output.RequestId)
- } else if obsError, ok := err.(obs.ObsError); ok {
- fmt.Println(obsError.Code)
- fmt.Println(obsError.Message)
- }
- }
说明:
- 桶的名字是全局唯一的,所以您需要确保不与已有的桶名称重复。
- 桶命名规则如下:
- 3~63个字符,数字或字母开头,支持小写字母、数字、“-”、“.”。
- 禁止使用类IP地址。
- 禁止以“-”或“.”开头及结尾。
- 禁止两个“.”相邻(如:“my..bucket”)。
- 禁止“.”和“-”相邻(如:“my-.bucket”和“my.-bucket”)。
- 同一用户多次创建同名桶不会报错,创建的桶属性以第一次请求为准。
- 本示例创建的桶的访问权限默认是私有读写,存储类型默认是标准类型,区域位置是默认区域。
创建桶时,如果使用的终端节点归属于默认区域华北-北京一(cn-north-1),则可以不指定区域;如果使用的终端节点归属于其他区域,则必须指定区域(指定方法参见带参数创建),且指定的区域必须与终端节点归属的区域一致。当前有效的区域名称有:cn-north-1、cn-east-2、cn-south-1、ap-southeast-1。
带参数创建
创建桶时可以指定桶的访问权限、存储类型和区域位置。OBS支持的桶的存储类型有三类,参见桶存储类型。示例代码如下:
- // 引入依赖包
- import (
- "fmt"
- "obs"
- )
- var ak = "*** Provide your Access Key ***"
- var sk = "*** Provide your Secret Key ***"
- var endpoint = "https://your-endpoint"
- // 创建ObsClient结构体
- var obsClient, _ = obs.New(ak, sk, endpoint)
- func main() {
- input := &obs.CreateBucketInput{}
- input.Bucket = "bucketname"
- // 设置桶访问权限为公共读,默认是私有读写
- input.ACL = obs.AclPublicRead
- // 设置桶的存储类型为归档类型,默认是标准存储类型
- input.StorageClass = obs.StorageClassCold
- // 设置桶区域位置
- input.Location = "bucketlocation"
- // 创建桶
- output, err := obsClient.CreateBucket(input)
- if err == nil {
- fmt.Printf("RequestId:%s\n", output.RequestId)
- } else if obsError, ok := err.(obs.ObsError); ok {
- fmt.Println(obsError.Code)
- fmt.Println(obsError.Message)
- }
- }
父主题:管理桶