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:私有。只有根用户和具有相应权限的子用户可以对该Bucket内的文件进行读写操作(包括Put、Delete和Get Object)。其他人(包括匿名访问)只有通过Bucket Policy授权或分享链接才可访问该Bucket内的文件。
public-read:公共读。只有根用户和具有相应权限的子用户可以对该Bucket内的Object进行写操作(包括Put和Delete Object)。任何人(包括匿名访问)都可以对该Bucket内的Object进行读操作,这有可能造成您数据的外泄以及费用激增,请慎用该权限。
public-read-write:公共读写。任何人(包括匿名访问)都可以对该Bucket内的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 。
父节点为LocationList,表示数据位置,有效值为:ChengDu、GuiYang、LaSa、LanZhou、QingDao、SH2、ShenYang、ShenZhen、SuZhou、WuHan、WuHu、WuLuMuQi、ZhengZhou。
默认值:无
父节点:MetadataLocationConstraint或Locationlist。
否 ScheduleStrategy 指定数据时的调度策略。
类型:枚举。
取值:
Allowed:允许OOS自动调度
NotAllowed:不允许OOS自动调度
默认值:Allowed。
父节点:DataLocationConstraint。
否
请求示例1
请求创建一个名叫picture的bucket,索引位置设置为LaSa,数据位置设置为优先本地,bucket权限设置为私有。
PUT / HTTP/1.1
Host: picture.oos-cn.ctyunapi.cn
Content-Length:200
Content-Type: application/xml;charset=utf-8
Date: Mon, 03 Sep 2012 12:00:00 GMT
Authorization: AWS 7799e793ce4624ee7e5a:9N/W/kmYwFhbqHYFTvQor317qVw=
x-amz-acl: private
<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: 236A8905248E5A01
Date: Mon, 03Sep 2012 12:00:00 GMT
Location: /picture
Content-Length: 0
Server: CTYUN
请求示例2
请求创建一个名叫picture1的bucket,索引位置设置为LaSa,数据位置设置为拉萨、成都,调度策略是允许OOS自动调度。
PUT / HTTP/1.1
Host: picture1.oos-cn.ctyunapi.cn
Content-Length:200
Content-Type: application/xml; charset=utf-8
Date: Mon, 03 Sep 2012 12:00:00 GMT
Authorization: AWS 7799e793ce4624ee7e5a:9N/W/kmYwFhbqHYFTvQor317qVw=
<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: 236A8905248E5B01
Date: Mon, 03 Sep 2012 12:00:00 GMT
Location: /picture1
Content-Length: 0
Server: CTYUN
请求示例3
修改数据位置为 就近 。
PUT / HTTP/1.1
Host: ctyuntest0929.oos-cn.ctyunapi.cn
Authorization: AWS 0c6c84764e3b8eddf928:oqF7NDGpgL33NRJJXFH60Kyjyhk=
Date: Sun, 29 Sep 2019 07:16:11 GMT
Content-Type: application/xml;charset=utf-8
Content-Length: 170
<CreateBucketConfiguration xmlns="
<DataLocationConstraint>
<Type>Local</Type>
</DataLocationConstraint>
</CreateBucketConfiguration>
响应示例3
HTTP/1.1 200 OK
Location: /ctyuntest0929
Date: Sun, 29 Sep 2019 07:16:32 GMT
x-amz-request-id: 7088d28e62cc4002
Content-Length: 0
Server: CTYUN