PutBucket接口用于创建 Bucket(不支持匿名访问)。

创建的 Bucket 所在的 Region 和发送请求的 Endpoint 所对应的 Region 一致。Bucket 所在的 Region 确定后,该 Bucket 中的所有 Object 将一直存放在对应 Region。详情请参见访问域名和数据中心

请求语法

PUT / HTTP/1.1
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Date: GMT Date
x-oss-acl: Permission
Authorization: SignatureValue
<?xml version="1.0" encoding="UTF-8"?>
<CreateBucketConfiguration>
    <StorageClass>Standard</StorageClass>
</CreateBucketConfiguration>

请求 Header

类型 描述
x-oss-acl 字符串 指定 Bucket 访问权限。

有效值:public-read-writepublic-readprivate

请求元素

类型 描述
StorageClass 字符串 指定 Bucket 存储类型。

有效值:StandardIAArchive

细节分析

  • 如果创建的 Bucket 没有指定访问权限,则默认使用 private 权限。
  • 如果创建的 Bucket 不符合命名规范,则返回 400 Bad Request 消息。错误码:InvalidBucketName。
  • 如果用户发起 PutBucket 请求时没有传入用户验证信息,则返回 403 Forbidden 消息。错误码:AccessDenied。
  •  同一用户在同一 Region 内最多可创建 30 个Bucket。如果超过 30 个,则返回 400 Bad Request 消息。错误码:TooManyBuckets。
  • 创建 Bucket 时,可以指定 Bucket 的数据容灾类型(DataRedundancyType),有效值为LRS(本地容灾类型,默认值)、ZRS(同城容灾类型)。

示例

请求示例:

PUT / HTTP/1.1
Host: oss-example.oss-cn-hangzhou.aliyuncs.com
Date: Fri, 24 Feb 2017 03:15:40 GMT
x-oss-acl: private
Authorization: OSS qn6qrrqxo2oawuk53otfjbyc:77Dvh5wQgIjWjwO/KyRt8dOPfo8=
<?xml version="1.0" encoding="UTF-8"?>
<CreateBucketConfiguration>
    <StorageClass>Standard</StorageClass>
</CreateBucketConfiguration>

返回示例:

HTTP/1.1 200 OK
x-oss-request-id: 534B371674E88A4D8906008B
Date: Fri, 24 Feb 2017 03:15:40 GMT
Location: /oss-example
Content-Length: 0
Connection: keep-alive
Server: AliyunOSS