PutBucket接口用于创建存储空间(Bucket)。

注意事项

  • 要创建存储空间,您必须有PutBucket权限。
  • 同一阿里云账号在同一地域(Region)内最多可创建100个Bucket。
  • 每个地域都有对应的访问域名(Endpoint)。地域与访问域名对应关系的更多信息,请参见访问域名和数据中心

请求语法

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>

请求头

名称 类型 是否必选 示例值 描述
x-oss-acl 字符串 private 指定Bucket的访问权限ACL。包括如下选择:
  • public-read-write:公共读写
  • public-read:公共读
  • private:私有(默认值)

有关Bucket访问权限ACL的更多信息,请参见设置存储空间访问权限ACL

x-oss-hns-status 字符串 enabled 指定Bucket是否开启分层命名空间。

只能在创建Bucket时设置是否开启分层命名空间。对于已存在的Bucket不能更改Bucket的分层命名空间状态。

  • enabled:开启

    Bucket开启分层命名空间后,您可以在Bucket中进行目录操作,例如创建目录、删除目录、重命名目录等。

  • disabled(默认值):不开启

此接口还需要包含公共请求头。关于公共请求头的更多信息,请参见公共请求头(Common Request Headers)

请求元素

名称 类型 是否必选 示例值 描述
StorageClass 字符串 Standard 指定Bucket的存储类型。
有效值:
  • Standard(默认值):标准存储
  • IA:低频访问
  • Archive:归档存储
  • ColdArchive:冷归档存储
DataRedundancyType 字符串 LRS

指定Bucket的数据容灾类型。

有效值:
  • LRS(默认值)

    本地冗余LRS,将您的数据冗余存储在同一个可用区的不同存储设备上,可支持两个存储设备并发损坏时,仍维持数据不丢失,可正常访问。

  • ZRS

    同城冗余ZRS采用多可用区(AZ)机制,将您的数据冗余存储在同一地域(Region)的3个可用区。可支持单个可用区(机房)整体故障时(例如断电、火灾等),仍然能够保障数据的正常访问。

关于Bucket的存储类型和数据容灾类型的更多信息,请参见存储类型介绍

响应头

此接口仅包含公共响应头。关于公共响应头的更多信息,请参见公共响应头(Common Response Headers)

示例

请求示例
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/KyRt8dOP****
<?xml version="1.0" encoding="UTF-8"?>
<CreateBucketConfiguration>
    <StorageClass>Standard</StorageClass>
</CreateBucketConfiguration>
返回示例
HTTP/1.1 200 OK
x-oss-request-id: 534B371674E88A4D8906****
Date: Fri, 24 Feb 2017 03:15:40 GMT
Content-Length: 0
Connection: keep-alive
Server: AliyunOSS

SDK

此接口所对应的各语言SDK如下:

错误码

错误码 HTTP状态码 描述
InvalidBucketName 400 创建Bucket时,定义的Bucket名称不符合命名规范。
AccessDenied 403 返回该错误的可能原因如下:
  • 发起PutBucket请求时没有传入用户验证信息。
  • 没有操作权限。
TooManyBuckets 400 创建的Bucket数量超过上限。同一阿里云账号在同一地域(Region)内最多可创建100个Bucket。
BucketAlreadyExists 409 返回该错误的可能原因如下:
  • 该Bucket已存在或被其他用户占用。请尝试使用其他符合命名规范的Bucket名称新建Bucket。
  • 已存在的Bucket不能更改分层命名空间状态。只能在创建Bucket时设置是否开启分层命名空间。