更新时间:2024-04-15 GMT+08:00

创建桶

功能介绍

创建桶是指按照用户指定的桶名创建一个新桶的操作。

  • 默认情况下,一个用户可以拥有的桶的数量不能超过100个。
  • 用户删除桶后,需要等待30分钟才能创建同名桶和并行文件系统。
  • OBS支持在创建桶时指定桶的AZ类型,您可以开启或关闭多AZ。关闭多AZ时,桶内数据默认存储在单个AZ内;开启多AZ时,桶内数据冗余存储在多个AZ内,可靠性更高。旧桶AZ类型默认为单AZ。

新创建桶的桶名在OBS中必须是唯一的。如果是同一个用户重复创建同一区域的同名桶时返回成功。除此以外的其他场景重复创建同名桶返回桶已存在。用户可以在请求消息头中加入x-obs-acl等参数,设置要创建桶的权限控制策略。

请求消息样式

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
PUT / HTTP/1.1 
Host: bucketname.obs.region.example.com
Content-Length: length
Date: date
Authorization: authorization
x-obs-az-redundancy: 3az
 
<CreateBucketConfiguration xmlns="http://obs.region.example.com/doc/2015-06-30/">
    <Location>location</Location> 
</CreateBucketConfiguration>

请求消息参数

该请求消息中不带请求参数。

请求消息头

该操作消息头与普通请求一样,请参见表3,但可以带附加消息头,附加请求消息头如下所示。

表1 附加请求消息头

消息头名称

描述

是否必选

x-obs-acl

创建桶时,可以加上此消息头设置桶的权限控制策略,使用的策略为预定义的常用策略,包括:private、public-read、public-read-write、public-read-delivered、public-read-write-delivered。

类型:String

x-obs-grant-read

授权给指定domain下的所有用户有READ权限。允许列举桶内对象、列举桶中多段任务、列举桶中多版本对象、获取桶元数据。

类型:String

示例:x-obs-grant-read:id=租户id

x-obs-grant-write

授权给指定domain下的所有用户有WRITE权限。允许创建、删除、覆盖桶内所有对象,允许初始化段、上传段、拷贝段、合并段、取消多段上传任务。

类型:String

示例:x-obs-grant-write:id=租户id

x-obs-grant-read-acp

授权给指定domain下的所有用户有READ_ACP权限。允许读桶的ACL信息。

类型:String

示例:x-obs-grant-read-acp:id=租户id

x-obs-grant-write-acp

授权给指定domain下的所有用户有WRITE_ACP权限,允许修改桶的ACL信息。

类型: 字符串

示例:x-obs-grant-write-acp:id=租户id

x-obs-grant-full-control

授权给指定domain下的所有用户有FULL_CONTROL权限。

类型: 字符串

示例:x-obs-grant-full-control:id=租户id

x-obs-grant-read-delivered

授权给指定domain下的所有用户有READ权限,并且在默认情况下,该READ权限将传递给桶内所有对象。

类型:String

示例:x-obs-grant-read-delivered:id=租户id

x-obs-grant-full-control-delivered

授权给指定domain下的所有用户有FULL_CONTROL权限,并且在默认情况下,该FULL_CONTROL权限将传递给桶内所有对象。

类型:String

示例:x-obs-grant-full-control-delivered:id=租户id

x-obs-az-redundancy

创建桶时带上此消息头设置桶的存储类型为多AZ。不携带时默认为单AZ。用户携带该头域指定新创的桶的存储类型为多AZ,存在一种情况是当该区域如果不支持多AZ存储,则该桶的存储类型仍为单AZ。

类型:String

示例:x-obs-az-redundancy:3az

x-obs-fs-file-interface

创建桶时可以带上此消息头以创建并行文件系统。

类型:String

示例:x-obs-fs-file-interface:Enabled

请求消息元素

该操作可以带附加请求消息元素,附加请求消息元素的具体描述如表2所示。

表2 附加请求消息元素

元素名称

描述

是否必选

Location

指定Bucket在哪个区域被创建。

  • 使用默认区域的终端节点创桶时
    • 不携带Location,桶将默认创建在默认区域
    • 在Location中指定其它区域,桶将创建在指定区域
  • 使用非默认区域的终端节点创桶时,必须携带Location,并且Location只能指定为该终端节点对应的区域。

类型:String

响应消息样式

1
2
3
4
HTTP/1.1 status_code
Location: location
Date: date
Content-Length: length

响应消息头

该请求的响应消息使用公共消息头,具体请参考表1

响应消息元素

该请求的响应中不带有响应元素。

错误响应消息

无特殊错误,所有错误已经包含在表2中。

请求示例:创建桶

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
PUT / HTTP/1.1
User-Agent: curl/7.29.0
Host: examplebucket.obs.region.example.com
Accept: */*
Date: WED, 01 Jul 2015 02:25:05 GMT
Authorization: OBS H4IPJX0TQTHTHEBQQCEC:75/Y4Ng1izvzc1nTGxpMXTE6ynw=
Content-Length: 157

<CreateBucketConfiguration xmlns="http://obs.region.example.com/doc/2015-06-30/">
</CreateBucketConfiguration>

响应示例:创建桶

1
2
3
4
5
6
7
HTTP/1.1 200 OK
Server: OBS
x-obs-request-id: BF260000016435CE298386946AE4C482
Location: /examplebucket
x-obs-id-2: 32AAAQAAEAABSAAgAAEAABAAAQAAEAABCT9W2tcvLmMJ+plfdopaD62S0npbaRUz
Date: WED, 01 Jul 2015 02:25:06 GMT
Content-Length: 0

请求示例:创建指定ACL的桶

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
PUT / HTTP/1.1
User-Agent: curl/7.29.0
Host: examplebucket.obs.region.example.com
Accept: */*
Date: WED, 01 Jul 2015 02:25:05 GMT
x-obs-acl:public-read
Authorization: OBS H4IPJX0TQTHTHEBQQCEC:75/Y4Ng1izvzc1nTGxpMXTE6ynw=
Content-Length: 157

<CreateBucketConfiguration xmlns="http://obs.region.example.com/doc/2015-06-30/">
</CreateBucketConfiguration>

响应示例:创建指定ACL的桶

1
2
3
4
5
6
7
HTTP/1.1 200 OK
Server: OBS
x-obs-request-id: BF260000016435CE298386946AE4C482
Location: /examplebucket
x-obs-id-2: 32AAAQAAEAABSAAgAAEAABAAAQAAEAABCT9W2tcvLmMJ+plfdopaD62S0npbaRUz
Date: WED, 01 Jul 2015 02:25:06 GMT
Content-Length: 0

请求示例:创建桶时选择多AZ

1
2
3
4
5
6
7
8
PUT / HTTP/1.1 
Host: examplebucket.obs.region.example.com
Content-Length: length 
Date: date 
Authorization: authorization 
x-obs-az-redundancy:3az 
<CreateBucketConfiguration xmlns="http://obs.region.example.com/doc/2015-06-30/">
</CreateBucketConfiguration>

响应示例:创建桶时选择多AZ

1
2
3
4
5
6
7
8
HTTP/1.1 200 OK 
Server: OBS 
x-obs-request-id: BF260000016435CE298386946AE4C482 
Location: /examplebucket 
x-obs-id-2: 32AAAQAAEAABSAAgAAEAABAAAQAAEAABCT9W2tcvLmMJ+plfdopaD62S0npbaRUz 
Date: WED, 01 Jul 2015 02:25:06 GMT 
x-obs-az-redundancy:3az
Content-Length: 0

请求示例:创建并行文件系统

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
PUT / HTTP/1.1
User-Agent: curl/7.29.0
Host: examplebucket.obs.region.example.com
Accept: */*
Date: WED, 01 Jul 2015 02:25:05 GMT
Authorization: OBS H4IPJX0TQTHTHEBQQCEC:75/Y4Ng1izvzc1nTGxpMXTE6ynw=
Content-Length: 157
x-obs-fs-file-interface: Enabled

<CreateBucketConfiguration xmlns="http://obs.region.example.com/doc/2015-06-30/">
</CreateBucketConfiguration>

响应示例:创建并行文件系统

1
2
3
4
5
6
7
HTTP/1.1 200 OK
Server: OBS
x-obs-request-id: BF260000016435CE298386946AE4C482
Location: /examplebucket
x-obs-id-2: 32AAAQAAEAABSAAgAAEAABAAAQAAEAABCT9W2tcvLmMJ+plfdopaD62S0npbaRUz
Date: WED, 01 Jul 2015 02:25:06 GMT
Content-Length: 0