PUT Bucket操作可以用来:
创建一个新的Bucket。
对已有Bucket的Bucket ACL进行修改。
对数据位置进行修改,但是不能修改索引位置(香港节点不支持)。
只有根用户和具有PUT Bucket权限的子用户才能创建Bucket。
Bucket的命名规范如下:
Bucket名称必须全局唯一。
Bucket名称长度介于3到63字节之间。
Bucket名称只能由小写字母、数字、短横线(-)和点(.)组成。
Bucket名称可以由一个或者多个小节组成,小节之间用点(.)隔开,各个小节需要:
只能包含小写字母、数字和短横线(-)。
必须以小写字母或者数字开始。
必须以小写字母或者数字结束。
Bucket名称不能是IP地址形式(如192.162.0.1)。
Bucket名称不能是一组或多组“数字.数字”的组合。
Bucket名称中不能包含双点(..)、横线点(-.)和点横线(.-)。
不允许使用非法敏感字符,例如暴恐涉政相关信息等。
注意
香港节点只有请求头,没有请求体。
请求语法
PUT / HTTP/1.1
Host: BucketName.oos-cn.ctyunapi.cn
Content-Type: application/xml; charset=utf-8
Content-Length: length
Date: date
Authorization: SignatureValue
<createbucketconfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<metadatalocationconstraint>
<location>MetadataRegion</location>
</metadatalocationconstraint>
<datalocationconstraint>
<type>RegionType</type>
<locationlist>
<location>DataRegion</location>
<location>DataRegion</location>
</locationlist>
<schedulestrategy>Strategy</schedulestrategy>
</datalocationconstraint>
</createbucketconfiguration>请求参数
| 名称 | 描述 | 是否必须 |
|---|---|---|
| x-amz-acl | 设置Bucket的ACL(Access Control List)。 类型:字符串。 有效值:
默认值为private。 | 否 |
请求元素
注意
香港节点不支持下列请求元素。
| 名称 | 描述 | 是否必须 |
|---|---|---|
| CreateBucketConfiguration | 设置Bucket索引位置和数据位置的容器。 类型:容器。 子节点:MetadataLocationConstraint、DataLocationConstraint。 | 否 |
| MetadataLocationConstraint | 设置Bucket的索引位置。 类型:容器。 父节点:CreateBucketConfiguration。 子节点:Location。 | 创建Bucket的时候非必填。修改Bucket ACL或数据位置的时候不能填写。 |
| DataLocationConstraint | 设置Bucket的数据位置。 类型:容器。 父节点:CreateBucketConfiguration。 子节点:Type、LocationList、ScheduleStrategy。 | 否 |
| Type | 数据位置的类型。 类型:枚举。 取值:
默认值:Local 父节点:DataLocationConstraint。 | 否 |
| LocationList | 指定的数据位置。 类型:容器。 父节点:DataLocationConstraint。 子节点:Location。 | 否 |
| Location | 索引位置或数据位置。 类型:字符串。 取值:
默认值:无 父节点:MetadataLocationConstraint或Locationlist。 | 否 |
| ScheduleStrategy | 指定数据时的调度策略。 类型:枚举。 取值:
默认值:Allowed。 父节点:DataLocationConstraint。 | 否 |
请求示例1
请求创建一个名叫docs的Bucket,索引位置设置为WuHu,数据位置设置为优先本地,Bucket权限设置为私有。
PUT / HTTP/1.1
Host: docs.oos-cn.ctyunapi.cn
Content-Length:200
Content-Type: application/xml;charset=utf-8
Date: Mon, 03 Sep 2012 12:00:00 GMT
x-amz-acl: private
Authorization: SignatureValue
<CreateBucketConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<MetadataLocationConstraint>
<Location>WuHu</Location>
</MetadataLocationConstraint>
<DataLocationConstraint>
<Type>Local</Type>
</DataLocationConstraint>
</CreateBucketConfiguration>响应示例1
HTTP/1.1 200 OK
x-amz-request-id: c962c64b9f294f7b14877a897e8b8d9352545d484a4c4e5052
Date: Mon, 03 Sep 2012 12:00:00 GMT
Location: /docs
Content-Length: 0
Server: CTYUN请求示例2
请求创建一个名叫docs的Bucket,索引位置设置为WuHu,数据位置设置为芜湖、成都,调度策略是允许OOS自动调度。
PUT / HTTP/1.1
Host: docs.oos-cn.ctyunapi.cn
Content-Length:200
Content-Type: application/xml; charset=utf-8
Date: Mon, 03 Sep 2012 12:00:00 GMT
Authorization: SignatureValue
<CreateBucketConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<MetadataLocationConstraint>
<Location>WuHu</Location>
</MetadataLocationConstraint>
<DataLocationConstraint>
<Type>Specified</Type>
<LocationList>
<Location>WuHu</Location>
<Location>ChengDu</Location>
</LocationList>
<ScheduleStrategy>Allowed</ScheduleStrategy>
</DataLocationConstraint>
</CreateBucketConfiguration>响应示例2
HTTP/1.1 200 OK
x-amz-request-id: c962c64b9f294f7b14877a897e7b8d9352545d484a4c4e6879
Date: Mon, 03 Sep 2012 12:00:00 GMT
Location: /docs
Content-Length: 0
Server: CTYUN请求示例3
修改数据位置为就近 。
PUT / HTTP/1.1
Host: docs.oos-cn.ctyunapi.cn
Date: Sun, 29 Sep 2019 07:16:11 GMT
Content-Type: application/xml;charset=utf-8
Content-Length: 170
Authorization: SignatureValue
<CreateBucketConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<DataLocationConstraint>
<Type>Local</Type>
</DataLocationConstraint>
</CreateBucketConfiguration>响应示例3
HTTP/1.1 200 OK
Location: /docs
Date: Sun, 29 Sep 2019 07:16:32 GMT
x-amz-request-id: c08665066c4e4b4186f9ecfbf0fdff05c4c6cdbabcbec0c2c4
Content-Length: 0
Server: CTYUN