创建存储分区

创建存储分区时,您可以为存储分区指定地理位置以及存储分区的存储类别。

如果您尝试创建名称无效的存储分区,400 无效请求状态代码以及错误响应的正文InvalidBucketNameCode元素。

您只能在您具有相应权限的项目中创建存储分区。例如,如果您拥有项目的 Storage Admin 角色,则您拥有创建存储分区所需的权限 (storage.objects.create)。

此外,由于存储分区命名空间是全局性的,因此整个 Cloud Storage 命名空间中的存储分区名称都必须是唯一的。如果您的存储分区名称已被使用,您会收到 409 冲突状态代码,且存储分区创建请求失败。如果命名空间中已存在相应存储分区,或者 Code 元素中包含 BucketAlreadyOwnedByYou,则错误响应的正文会在 Code 元素中包含 BucketAlreadyExists如果存储分区属于您 如需了解详情,请参阅存储分区命名准则对象命名准则

查询字符串参数

此请求通常不包含查询字符串参数。

如需了解您在创建和使用签名网址时包含的参数,请参阅签名网址查询字符串参数

请求标头

除了通用请求标头之外,您还可以使用以下内容。

标题 说明 必需
x-goog-acl 您要应用于存储分区的预定义访问控制列表 (ACL)。如果您使用 acl 查询字符串参数来应用 ACL,请勿使用此参数。
x-goog-bucket-retention-period 存储分区中的对象必须持续保留的时间,以秒为单位,才能被替换或删除。
x-goog-project-id 项目的 ID。必需,除非您已为互操作访问设置默认项目。

请求正文元素

以下请求正文元素在创建存储分区时适用。如果您没有指定请求正文,Cloud Storage 会在 US 位置创建一个存储分区,使用 STANDARD 存储类别。

元素 说明
CreateBucketConfiguration 用于创建正文请求的容器。
LocationConstraint 存储分区的位置
StorageClass 存储分区的存储类别,例如 STANDARDNEARLINECOLDLINEARCHIVE

请求语法

PUT / HTTP/1.1
Host: BUCKET_NAME.storage.googleapis.com
Date: DATE
Content-Length: REQUEST_BODY_LENGTH
Authorization: AUTHENTICATION_STRING
x-goog-project-id: PROJECT_ID
x-goog-acl: PREDEFINED_ACL
x-goog-bucket-retention-period: TIME_IN_SECONDS

<CreateBucketConfiguration>
  <LocationConstraint>LOCATION</LocationConstraint>
  <StorageClass>STORAGE_CLASS</StorageClass>
</CreateBucketConfiguration>

响应标头

请求可以返回各种响应标头,具体取决于您使用的请求标头。

响应正文元素

响应的响应正文中不包含 XML 文档。

示例

以下示例会在美国和指定的项目中创建一个名为 acme-pets 的标准存储分区(未指定请求正文)。

请求

PUT / HTTP/1.1
Host: acme-pets.storage.googleapis.com
Date: Mon, 15 Feb  2008 21:30:39 GMT
Content-Length: 0
x-goog-project-id: 123456789123
Authorization: Bearer ya29.AHES6ZRVmB7fkLtd1XTmq6mo0S1wqZZi3-Lh_s-6Uw7p8vtgSwg
 
<CreateBucketConfiguration>
  <StorageClass>STANDARD</StorageClass>
</CreateBucketConfiguration>

响应

HTTP/1.1 200 OK
Date: Mon, 15 Feb 2010 12:30:40 GMT
Content-Length: 0