调用PutBucket接口创建存储空间(Bucket)。
注意事项
同一阿里云账号在同一地域(Region)内最多支持创建100个Bucket。
每个地域都有对应的访问域名(Endpoint)。关于地域与访问域名对应关系的更多信息,请参见访问域名和数据中心。
阿里云账号对同一个Bucket执行多次PutBucket请求时,第一次请求是创建Bucket,后续请求是修改Bucket的元数据(例如Bucket ACL)。多次PutBucket请求会有Bucket元数据覆盖风险,请谨慎操作。
北京时间2025年10月13日10:00:00起,OSS逐步调整所有地域通过API、SDK、ossutil创建Bucket时默认开启阻止公共访问。各个地域的生效变更时间,请参见公告说明。开启后,不允许创建公共访问权限,包括公共读或者公共读写ACL、以及公共访问语义的Bucket Policy。如果您的业务有公共访问需求,可在Bucket创建后关闭阻止公共访问。
权限说明
阿里云账号默认拥有全部权限。阿里云账号下的RAM用户或RAM角色默认没有任何权限,需要阿里云账号或账号管理员通过RAM Policy或Bucket Policy授予操作权限。
API | Action | 说明 |
API | Action | 说明 |
PutBucket |
| 创建Bucket。 |
| 创建Bucket后,修改Bucket的ACL,需要此操作的权限。 |
请求语法
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>
当您在OSS ON云盒中调用该接口时,您需要将Host替换为云盒Endpoint。更多信息,请参见云盒Endpoint。
当您调用该接口创建无地域属性Bucket时,您需要将Host中的外网Endpoint(例如oss-cn-hangzhou.aliyuncs.com)替换为
oss-rg-china-mainland.aliyuncs.com
。更多信息,请参见存储空间地域属性。
请求头
名称 | 类型 | 是否必选 | 示例值 | 描述 |
名称 | 类型 | 是否必选 | 示例值 | 描述 |
x-oss-acl | 字符串 | 否 | private | 指定Bucket的访问权限ACL。取值范围如下:
关于Bucket访问权限ACL的更多信息,请参见设置存储空间访问权限ACL。 |
x-oss-resource-group-id | 字符串 | 否 | rg-aek27tc**** | 指定资源组ID。
您可以通过资源管理的控制台或ListResourceGroups接口获取资源组ID。具体操作,请分别参见查看资源组基本信息和ListResourceGroups。 创建无地域属性Bucket时不支持配置资源组。 |
x-oss-bucket-tagging | 字符串 | 否 | k1=v1&k2=v2 | 指定 Bucket 标签。 |
此接口还需要包含公共请求头。更多信息,请参见公共请求头(Common Request Headers)。
请求元素
名称 | 类型 | 是否必选 | 示例值 | 描述 |
名称 | 类型 | 是否必选 | 示例值 | 描述 |
StorageClass | 字符串 | 否 | Standard | 指定Bucket的存储类型。取值范围如下:
父节点:CreateBucketConfiguration 子节点:无 |
DataRedundancyType | 字符串 | 否 | LRS | 指定Bucket的数据容灾类型。取值范围如下:
在OSS ON云盒使用场景中,不支持使用此选项。 父节点:CreateBucketConfiguration 子节点:无 |
响应头
名称 | 类型 | 示例值 | 描述 |
名称 | 类型 | 示例值 | 描述 |
Location | 字符串 | /oss-example | Bucket的地址。由/加上Bucket名称组成。 默认值:无 |
此接口还涉及其他公共响应头。更多信息,请参见公共响应头(Common Response Headers)。
示例
在默认资源组中创建Bucket
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 qn6q**************:77Dv**************** <?xml version="1.0" encoding="UTF-8"?> <CreateBucketConfiguration> <StorageClass>Standard</StorageClass> <DataRedundancyType>LRS</DataRedundancyType> </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 Location: /oss-example
在指定资源组中创建Bucket
请求示例
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 x-oss-resource-group-id: rg-aek27tc******** Authorization: OSS qn6q**************:77Dv**************** <?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 Location: /oss-example
SDK
PutBucket接口所对应的各语言SDK如下:
命令行工具ossutil
PutBucket接口所对应的ossutil命令,请参见put-bucket。
错误码
错误码 | HTTP状态码 | 描述 |
错误码 | HTTP状态码 | 描述 |
InvalidBucketName | 400 | 创建Bucket时,定义的Bucket名称不符合命名规范。 |
AccessDenied | 403 | 返回该错误的可能原因如下:
|
TooManyBuckets | 400 | 创建的Bucket数量超过上限。同一阿里云账号在同一地域(Region)内最多可创建100个 Bucket。 |
BucketAlreadyExists | 409 |
|
- 本页导读 (1)
- 注意事项
- 权限说明
- 请求语法
- 请求头
- 请求元素
- 响应头
- 示例
- SDK
- 命令行工具ossutil
- 错误码