创建存储分区时,您可以为存储分区指定地理位置以及存储分区的存储类别。
如果您尝试创建名称无效的存储分区,400 无效请求状态代码以及错误响应的正文InvalidBucketName
在
Code
元素。
您只能在您具有相应权限的项目中创建存储分区。例如,如果您拥有项目的 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 |
存储分区的存储类别,例如 STANDARD 、NEARLINE 、COLDLINE 或 ARCHIVE 。 |
请求语法
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