调用PutBucket接口创建存储空间(Bucket)。
注意事项
要创建Bucket,您必须有
oss:PutBucket
权限。具体操作,请参见为RAM用户授权自定义的权限策略。同一阿里云账号在同一地域(Region)内最多支持创建100个Bucket。
每个地域都有对应的访问域名(Endpoint)。关于地域与访问域名对应关系的更多信息,请参见访问域名和数据中心。
阿里云账号对同一个Bucket执行多次PutBucket请求时,第一次请求是创建Bucket,后续请求是修改Bucket的元数据(例如Bucket ACL)。多次PutBucket请求会有Bucket元数据覆盖风险,请谨慎操作。
请求语法
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时不支持配置资源组。 |
此接口还需要包含公共请求头。更多信息,请参见公共请求头(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
此接口所对应的各语言SDK如下:
错误码
错误码 | HTTP状态码 | 描述 |
InvalidBucketName | 400 | 创建Bucket时,定义的Bucket名称不符合命名规范。 |
AccessDenied | 403 | 返回该错误的可能原因如下:
|
TooManyBuckets | 400 | 创建的Bucket数量超过上限。同一阿里云账号在同一地域(Region)内最多可创建100个 Bucket。 |
BucketAlreadyExists | 409 |
|