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:私有。只有根用户和具有相应权限的子用户可以对该存储桶内的文件进行读/写/删除操作(包括Get、Put和Delete Object),其他人(包括匿名访问)只有通过Bucket Policy授权或分享链接才可访问该存储桶内的文件。
public-read:公共读。只有根用户和具有相应权限的子用户可以对该存储桶内的文件进行写/删除操作(包括Put和Delete Object)。任何人(包括匿名访问)都可以对该存储桶内的文件进行读操作,这有可能造成您数据的外泄以及费用激增,请慎用该权限。
public-read-write:公共读写。任何人(包括匿名访问)都可以对该存储桶内的文件进行读/写/删除操作(包括Get、Put和Delete Object)。这有可能造成您数据的外泄以及费用激增,若被人恶意写入违法信息还可能会侵害您的合法权益,除特殊场景外,不建议您配置公共读写权限。
注意如果想使用访问权限为公共读写的存储桶,请联系天翼云客服评估审核后开通此功能。
默认值为private。
否
请求元素
注意香港节点不支持下列请求元素。
名称 描述 是否必须 CreateBucketConfiguration 设置Bucket索引位置和数据位置的容器。
类型:容器。
子节点:MetadataLocationConstraint、DataLocationConstraint。
否 MetadataLocationConstraint 设置Bucket的索引位置。
类型:容器。
父节点:CreateBucketConfiguration。
子节点:Location。
创建Bucket的时候非必填。修改Bucket ACL或数据位置的时候不能填写。 DataLocationConstraint 设置Bucket的数据位置。
类型:容器。
父节点:CreateBucketConfiguration。
子节点:Type、LocationList、ScheduleStrategy。
否 Type 数据位置的类型。
类型:枚举。
取值:
Local:本地
Specified:指定位置
默认值:Local
父节点:DataLocationConstraint。
否
LocationList 指定的数据位置。
类型:容器。
父节点:DataLocationConstraint。
子节点:Location。
否 Location 索引位置或数据位置。
类型:字符串。
取值:
父节点为MetadataLocationConstraint,表示索引位置。对于对象存储网络,取值为:ChengDu、FuZhou、GuiYang、HangZhou、LaSa、LanZhou、QingDao、ShenYang、ShenZhen、WuHan、WuHu、WuLuMuQi、ZhengZhou、SH2、SuZhou;对于对象存储网络2,取值为:NeiMeng1、HangZhou1。
父节点为LocationList,表示数据位置。对于对象存储网络,取值为:ChengDu、GuiYang、LaSa、LanZhou、QingDao、SH2、ShenYang、ShenZhen、SuZhou、WuHan、WuHu、WuLuMuQi、ZhengZhou;对于对象存储网络2,取值为:NeiMeng1、HangZhou1。
默认值:无
父节点:MetadataLocationConstraint或Locationlist。
否 ScheduleStrategy 指定数据时的调度策略。
类型:枚举。
取值:
Allowed:允许OOS自动调度
NotAllowed:不允许OOS自动调度
默认值:Allowed。
父节点:DataLocationConstraint。
否
请求示例1
请求创建一个名叫docs的Bucket,索引位置设置为LaSa,数据位置设置为优先本地,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>LaSa</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,索引位置设置为LaSa,数据位置设置为拉萨、成都,调度策略是允许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>LaSa</Location>
</MetadataLocationConstraint>
<DataLocationConstraint>
<Type>Specified</Type>
<LocationList>
<Location>LaSa</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="
<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