文档中心

PUT Bucket


描述

此 PUT 操作将为用户创建一个新的空间。用户需要是已注册用户,并且使用有效的 Access Key ID 验证来发送请求。任何匿名请求都不会被允许创建用户空间。用户将成为其创建空间的拥有者,拥有者有最高的权限。

存储桶命名规则

我们建议所有存储桶名称都遵循 DNS 命名惯例。

注意 : 如果您使用 KS3 管理控制台,则在所有区域中,存储桶名称都必须符合 DNS 标准。

符合 DNS 标准的存储桶名称使客户能够受益于新功能和操作改进,并支持对存储桶进行虚拟托管类型访问。存储桶只有一种统一的命名方法。符合 DNS 标准的存储桶名称规则如下:

  • 存储桶名称的长度必须为至少 3 个字符,且不能超过 63 个字符。

  • 存储桶名称必须是一系列的一个或多个标签。相邻标签通过单个句点 (.) 分隔。存储桶名称可以包含小写字母、数字和连字符。每个标签都必须以小写字母或数字开头和结尾。

  • 存储桶名称不得采用 IP 地址格式(例如,192.168.5.4)。

以下示例是有效存储桶名称:

  • myksbucket

  • my.ks.bucket

  • myksbucket.1

以下示例是无效存储桶名称:

  • .myksbucket 存储段名称不能以句点 (.) 开始。
  • myksbucket. 存储段名称不能以句点 (.) 结束。
  • my..examplebucket 标签之间只能有一个句点。

当用户使用此接口创建空间时,用户可以授予其他用户或者群组关于此空间的操作权限。以下列出了通过请求头部实现的两种授权方式。

  • 使用 x-kss-acl 请求头部,指定一个预定义的 ACL
  • 使用 x-kss-grant-read,x-kss-grant-write,x-kss-grant-full-control 请求头部,来明确指定具体的访问权限。

请求

语法

PUT / HTTP/1.1
Host: {BucketName}.kss.ksyun.com
Content-Length: length
Date: date
Authorization: authorization string

<CreateBucketConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
  <LocationConstraint>BucketRegion</LocationConstraint>
</CreateBucketConfiguration>

请求参数

该接口不使用请求参数。

请求头部

该接口可以使用常用请求头部。获取更多信息,请点击常用请求头部

用户可以使用以下header为bucket设置一个预设的ACL

名称 描述 必需
x-kss-acl 用于对象的预定义权限。
类型:String
默认值:private
有效值:private &##124; public-read &##124; public-read-write
约束条件:无

用户可以使用以下header为bucket设置详细的ACL

名称 描述 必须
x-kss-grant-read 为若干用户授予READ权限。
类型:String
默认值:无
约束条件:无
x-kss-grant-write 为若干用户授予WRITE权限。
类型:String
默认值:无
约束条件:无
x-kss-grant-full-control 为若干用户授予FULL_CONTROL权限。
类型:String
默认值:无
约束条件:无

以上header值的值为以一个逗号","分割的授权列表。每个授权信息的格式为type=value,当前type支持以下几种:

例如,要给所有用户授予WRITE权限:

x-kss-grant-write:uri="http://acs.ksyun.com/groups/global/AllUsers"

请求内容

名称 描述 必需
CreateBucketConfiguration 用户空间配置信息的容器。
类型: Container
父节点: None
LocationConstraint 指定用户空间将要被创建的区域。
类型: String
有效值: BEIJING&##124; SHANGHAI&##124; HONGKONG&##124; AMERICA
Default: BEIJING
父节点: CreateBucketConfiguration

响应

响应头部

该接口可以使用所有常用响应头部。获取更多信息,请点击常用响应头部

响应内容

该接口不返回相应内容。

特殊错误

该接口不返回任何特殊错误。

示例

请求示例

PUT / HTTP/1.1
Host: {BucketName}.kss.ksyun.com
Content-Length: 0
Date: Fri, 26 Dec 2014 06:30:04 GMT
Authorization: authorization string

响应示例

HTTP/1.1 200 OK
Date: Fri, 26 Dec 2014 06:30:04 GMT
Content-Length: 0
Connection: close
Server: Tengine

接口细节说明

  • bucket名称是全局唯一的,如果要新建的bucket已经存在,KS3将会返回409.
  • 对于大部分用户,使用x-kss-acl设置ACL即可。对于bucket,一般需要设置为私有。