PUT Bucket

最近更新时间:2024-10-11 19:32:01

我的收藏

功能描述

PUT Bucket 接口请求可以在指定账号下创建一个存储桶。该 API 接口不支持匿名请求,您需要使用带 Authorization 签名认证的请求才能创建新的 Bucket 。创建存储桶的用户默认成为存储桶的持有者。
说明
创建存储桶时,如果没有指定访问权限,则默认使用私有读写(private)权限。
如需创建多 AZ 存储桶,那么应当通过请求体指示存储桶配置,否则无需传入请求体。



授权说明

授权策略中 action 设置为 cos:PutBucket 。查看所有 action

请求

请求示例

示例一
PUT / HTTP/1.1
Host: <BucketName-APPID>.cos.<Region>.myqcloud.com
Date: GMT Date
Content-Length: 0
Authorization: Auth String
示例二
PUT / HTTP/1.1
Host: <BucketName-APPID>.cos.<Region>.myqcloud.com
Date: GMT Date
Content-Type: application/xml
Content-Length: Content Length
Content-MD5: MD5
Authorization: Auth String

[Request Body]
说明
Host: <BucketName-APPID>.cos.<Region>.myqcloud.com,其中 <BucketName-APPID> 为带 APPID 后缀的存储桶名字,例如 examplebucket-1250000000,可参阅 存储桶概览 > 基本信息存储桶概述 > 存储桶命名规范 文档;<Region> 为 COS 的可用地域,可参阅 地域和访问域名 文档。
Authorization: Auth String(详情请参见 请求签名 文档)。

请求参数

此接口无请求参数。

请求头

此接口除使用公共请求头部外,还支持以下请求头部,了解公共请求头部详情请参见 公共请求头部 文档。
名称
描述
类型
是否必选
x-cos-tagging
在创建存储桶的同时,为存储桶添加标签,最多可设置50个标签。例如 key1=value1&key2=value2
string
访问控制列表(ACL)相关头部
在创建存储桶时可以通过指定下列请求头部来设置存储桶的访问权限:
名称
描述
类型
是否必选
x-cos-acl
定义存储桶的访问控制列表(ACL)属性。枚举值请参见 ACL 概述 文档中存储桶的预设 ACL 部分,如 private,public-read 等,默认为 private
Enum
x-cos-grant-read
赋予被授权者读取存储桶的权限,格式为 id="[OwnerUin]",如 id="100000000001",可使用半角逗号(,)分隔多组被授权者,如 id="100000000001",id="100000000002"
string
x-cos-grant-write
赋予被授权者写入存储桶的权限,格式为 id="[OwnerUin]",如 id="100000000001",可使用半角逗号(,)分隔多组被授权者,如 id="100000000001",id="100000000002"
string
x-cos-grant-read-acp
赋予被授权者读取存储桶的访问控制列表(ACL)和存储桶策略(Policy)的权限,格式为 id="[OwnerUin]",如 id="100000000001",可使用半角逗号(,)分隔多组被授权者,如 id="100000000001",id="100000000002"
string
x-cos-grant-write-acp
赋予被授权者写入存储桶的访问控制列表(ACL)和存储桶策略(Policy)的权限,格式为 id="[OwnerUin]",如 id="100000000001",可使用半角逗号(,)分隔多组被授权者,如 id="100000000001",id="100000000002"
string
x-cos-grant-full-control
赋予被授权者操作存储桶的所有权限,格式为 id="[OwnerUin]",如 id="100000000001",可使用半角逗号(,)分隔多组被授权者,如 id="100000000001",id="100000000002"
string

请求体

仅当需要创建多 AZ 存储桶时提交 application/xml 请求数据,包含创建存储桶的配置信息,否则无需传入请求体。
<CreateBucketConfiguration>
<BucketAZConfig>string</BucketAZConfig>
</CreateBucketConfiguration>
具体的节点描述如下:
节点名称(关键字)
父节点
描述
类型
是否必选
CreateBucketConfiguration
包含 PUT Bucket 操作的所有请求信息
Container
Container 节点 CreateBucketConfiguration 的内容:
节点名称(关键字)
父节点
描述
类型
是否必选
BucketAZConfig
CreateBucketConfiguration
存储桶 AZ 配置,指定为 MAZ 以创建多 AZ 存储桶。
string

响应

响应头

此接口仅返回公共响应头部,详情请参见 公共响应头部 文档。

响应体

此接口响应体为空。

错误码

此接口遵循统一的错误响应和错误码,详情请参见 错误码 文档。

实际案例

案例一:简单案例(单 AZ 存储桶)

请求

PUT / HTTP/1.1
Host: examplebucket-1250000000.cos.ap-beijing.myqcloud.com
Date: Sun, 26 May 2019 14:51:38 GMT
Content-Length: 0
Authorization: q-sign-algorithm=sha1&q-ak=AKID8A0fBVtYFrNm02oY1g1JQQF0c3JO****&q-sign-time=1558882298;1558889498&q-key-time=1558882298;1558889498&q-header-list=content-length;date;host&q-url-param-list=&q-signature=c25fd640274a6da2318935ceebfbcfba4598****
Connection: close

响应

HTTP/1.1 200 OK
Content-Length: 0
Connection: close
Date: Sun, 26 May 2019 14:51:37 GMT
Server: tencent-cos
x-cos-request-id: NWNlYWE3ZjlfZDQyNzVkNjRfMzg1N18yNzFh****

案例二:指定公有读并授权特定用户读取权限和写入对象

请求

PUT / HTTP/1.1
Host: examplebucket-1250000000.cos.ap-beijing.myqcloud.com
Date: Fri, 14 Jun 2019 13:48:59 GMT
x-cos-acl: public-read
x-cos-grant-write: id="100000000002"
x-cos-grant-read-acp: id="100000000002"
Content-Length: 0
Authorization: q-sign-algorithm=sha1&q-ak=AKID8A0fBVtYFrNm02oY1g1JQQF0c3JO****&q-sign-time=1560520139;1560527339&q-key-time=1560520139;1560527339&q-header-list=content-length;date;host;x-cos-acl;x-cos-grant-read-acp;x-cos-grant-write&q-url-param-list=&q-signature=df03e7917270e0bf2b679bc6f99793bd0c63****
Connection: close

响应

HTTP/1.1 200 OK
Content-Length: 0
Connection: close
Date: Fri, 14 Jun 2019 13:49:00 GMT
Server: tencent-cos
x-cos-request-id: NWQwM2E1Y2NfZjBhODBiMDlfOTM1YV83NDRi****

案例三:创建多 AZ 存储桶

请求

PUT / HTTP/1.1
Host: examplebucket-1250000000.cos.ap-beijing.myqcloud.com
Date: Thu, 04 Jun 2020 06:06:09 GMT
Content-Type: application/xml
Content-Length: 96
Content-MD5: R1ES/YbddhKJK/wcN+f4yg==
Authorization: q-sign-algorithm=sha1&q-ak=AKID8A0fBVtYFrNm02oY1g1JQQF0c3JO****&q-sign-time=1591250769;1591257969&q-key-time=1591250769;1591257969&q-header-list=content-length;content-md5;content-type;date;host&q-url-param-list=&q-signature=28db662452fcdf8f004fc578f1c3fccbfedd****
Connection: close

<CreateBucketConfiguration>
<BucketAZConfig>MAZ</BucketAZConfig>
</CreateBucketConfiguration>

响应

HTTP/1.1 200 OK
Content-Length: 0
Connection: close
Date: Thu, 04 Jun 2020 06:06:10 GMT
Server: tencent-cos
x-cos-request-id: NWVkODhmNTFfM2JiODJhMDlfMjg4NmFfMzA5ZmE2****

案例四:创建存储桶同时添加存储桶标签

以下请求示例,用于在北京地域创建存储桶 examplebucket-1250000000,同时为存储桶添加两个存储桶标签 <a,a><b,b>

请求

PUT / HTTP/1.1
Host: examplebucket-1250000000.cos.ap-beijing.myqcloud.com
x-cos-tagging: a=a&b=b
Authorization: q-sign-algorithm=sha1&q-ak=AKIDYv3vWrwkHXVDf******&q-sign-time=1667446950;1668447000&q-key-time=1667446950;1668447000&q-url-param-list=&q-header-list=host;x-cos-tagging&q-signature=6d0ef3446f29aca9f28f66a031******

响应

HTTP/1.1 200 OK
Content-Length: 0
Connection: keep-alive
Date: Thu, 03 Nov 2022 03:43:30 GMT
Server: tencent-cos
x-cos-request-id: NjM2MzM4ZTJfZDRiNTE0M********