最近更新时间:2024-10-29 16:24:50
此操作将为用户创建一个新的存储空间(Bucket)用来存放对象。每个存储空间会拥有独立的配置属性,包括访问权限、桶类型、存储类型等。
用户需要是已注册用户,并且使用有效的Access Key ID
验证来发送请求。任何匿名请求都不会被允许创建存储空间。
用户将成为其创建空间的拥有者,拥有者有全部操作权限。
用户创建的Bucket总数不能超过100个。
存储空间创建后,不支持对名称、地域、桶类型、存储类型进行修改。
存储空间具有弹性容量扩展,无需对容量进行提前购买。
如果使用KS3管理控制台操作,则在所有区域中存储空间名称都必须符合DNS标准。符合DNS标准的存储空间名称使客户能够受益于新功能和操作改进,并支持对存储空间进行虚拟托管类型访问。符合DNS标准的存储空间名称规则如下:
存储空间名称在KS3范围内必须全局唯一。
存储空间名称的长度必须为至少3个字符,且不能超过63个字符。
存储空间名称只能包含小写字母、数字和连字符(-),且不能以连字符(-)开头或结尾。
以下示例是有效存储空间名称:
my-ksbucket
myksbucket123
123myksbucket
以下示例是无效存储空间名称:
-myksbucket 名称不能以连字符 (-) 开始
myksbucket- 名称不能以连字符 (-) 结束
my.ksbucket 名称不能包含句点(.)
用户可以使用参数projectId
将存储空间分配到不同的项目组中,未指派项目信息的存储空间将被分配到默认项目组中。
当用户使用此接口创建空间时,用户可以授予其他用户或者群组关于此空间的操作权限。以下列出了通过请求头部实现的两种授权方式。
使用x-kss-acl
请求头部,指定一个预定义的ACL
。该请求头部可为所有用户设置访问权限,一般需要设置为私有类型。
使用x-kss-grant-read
,x-kss-grant-write
,x-kss-grant-full-control
请求头部,可为指定用户设置访问权限。
用户可以通过x-kss-bucket-type
请求头指定Bucket存储类型。
NORMAL
表示标准存储类型Bucket,若上传时,不指定Object存储类型则默认为标准存储类型。
IA
表示低频存储Bucket,若上传时,不指定Object存储类型则默认为低频存储类型。
ARCHIVE
表示归档存储Bucket,若上传时,不指定Object存储类型则默认为归档存储类型。
用户可以通过x-kss-bucket-visit-type
请求头指定Bucket访问类型。
NORMAL
表示标准存储类型Bucket,该桶类型适合源站等对数据频繁访问的场景。
FREQUENTLIST
表示高频枚举类型Bucket,该桶类型适合AI训练、数据清洗等对Get Bucket请求较多的场景。
PUT / HTTP/1.1
Host: {BucketName}.{endpoint}
Content-Length: {length}
Date: {date}
Authorization: {SignatureValue}
<CreateBucketConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<LocationConstraint>{BucketRegion}</LocationConstraint>
</CreateBucketConfiguration>
PUT /?projectId={projectId} HTTP/1.1
Host: {BucketName}.{endpoint}
Content-Length: {length}
Date: {date}
Authorization: {SignatureValue}
<CreateBucketConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<LocationConstraint>{BucketRegion}</LocationConstraint>
</CreateBucketConfiguration>
该接口不使用请求参数。
该接口除了可以使用常用请求头部外,还可以设置以下请求头。
用户可以通过x-kss-bucket-type
请求头指定Bucket存储类型。
名称 | 描述 | 是否必选 |
---|---|---|
x-kss-bucket-type | 用于指定Bucket类型。
| 否 |
用户可以通过x-kss-acl
请求头为Bucket设置一个预定义的ACL。
名称 | 描述 | 是否必选 |
---|---|---|
x-kss-acl | 用于为存储空间设置预定义权限。
| 否 |
用户可以使用以下Header为指定的其他用户设置访问权限。
名称 | 描述 | 是否必选 |
---|---|---|
x-kss-grant-read | 为若干用户授予READ权限。
| 否 |
x-kss-grant-write | 为若干用户授予WRITE权限。
| 否 |
x-kss-grant-full-control | 为若干用户授予FULL_CONTROL权限。
| 否 |
以上Header值的值为以逗号","分割的授权列表。每个授权信息的格式为type=value,当前type支持被授权者的用户id。
例如,要给id为1234578和3344211的两个用户授予WRITE权限:
x-kss-grant-write: id=“1234578”,id=“3344211”
用户可以使用以下Header为Bucket设置访问类型。
名称 | 描述 | 是否必选 |
x-kss-bucket-visit-type | 创建桶时设置桶的访问类型。
1. NORMAL表示标准类型Bucket,该桶类型适合源站等对数据频繁访问的场景。 2. FREQUENTLIST表示高频枚举类型Bucket,该桶类型适合AI训练、数据清洗等对GET Bucket(LIST Objects)请求较多的场景。 | 否 |
高频枚举桶主要针对GET Bucket(LIST Objects)QPS需求较高的场景(单桶LIST需求大于1000),注意如果使用高频枚举桶,单桶PUT+GET的QPS能力为3000。
请求参数如下所示:
名称 | 描述 | 是否必选 |
---|---|---|
CreateBucketConfiguration | 用户空间配置信息的容器。
| 否 |
LocationConstraint | 指定用户空间将要被创建的区域。
| 否 |
该接口可以使用所有常用响应头部。获取更多信息,请点击常用响应头部。
该接口不返回响应内容。
简单请求示例
PUT / HTTP/1.1
Host: ks3-example.ks3-cn-beijing.ksyuncs.com
Content-Length: 0
Date: Fri, 26 Dec 2014 06:30:04 GMT
Authorization: authorization string
<CreateBucketConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<LocationConstraint>BEIJING</LocationConstraint>
</CreateBucketConfiguration>
响应示例
HTTP/1.1 200 OK
Date: Fri, 26 Dec 2014 06:30:04 GMT
Content-Length: 0
Connection: keep-alive
x-kss-request-id: f86r2t80lgj8bs6ksd8qrnorlkf4kmib
Server: KS3
指定项目组时请求示例
PUT /?projectId=111 HTTP/1.1
Host: ks3-example.ks3-cn-beijing.ksyuncs.com
Content-Length: 0
Date: Fri, 26 Dec 2014 06:30:04 GMT
Authorization: authorization string
<CreateBucketConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<LocationConstraint>BEIJING</LocationConstraint>
</CreateBucketConfiguration>
响应示例
HTTP/1.1 200 OK
Date: Fri, 26 Dec 2014 06:30:04 GMT
Content-Length: 0
Connection: keep-alive
x-kss-request-id: fkm46t80hek8bs6kvh8qvno5lne4oqv2
Server: KS3
指定访问类型时请求示例
PUT / HTTP/1.1
Host: ks3-example.ks3-cn-beijing.ksyuncs.com
x-kss-bucket-visit-type:FREQUENTLIST
Content-Length: 0
Date: Fri, 26 Dec 2014 06:30:04 GMT
Authorization: authorization string
<CreateBucketConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<LocationConstraint>BEIJING</LocationConstraint>
</CreateBucketConfiguration>
响应示例
HTTP/1.1 200 OK
Date: Fri, 26 Dec 2014 06:30:04 GMT
Content-Length: 0
Connection: keep-alive
x-kss-request-id: f86r2t80l******kf4kmib
Server: KS3
HTTP状态码 | 错误码 | 描述 |
400 | InvalidBucketName | 定义的Bucket名称不符合命名规范。 |
400 | TooManyBuckets | 创建的Bucket数量超过上限。同一用户创建的Bucket总数不能超过100个。 |
400 | InvalidBucketVisitType | 无效的桶访问类型。 |
纯净模式