功能描述
PUT Bucket 接口请求可以在指定账号下创建一个存储桶。该 API 接口不支持匿名请求,您需要使用带 Authorization 签名认证的请求才能创建新的 Bucket 。创建存储桶的用户默认成为存储桶的持有者。
说明
创建存储桶时,如果没有指定访问权限,则默认使用私有读写(private)权限。
如需创建多 AZ 存储桶,那么应当通过请求体指示存储桶配置,否则无需传入请求体。
授权说明
请求
请求示例
示例一
PUT / HTTP/1.1Host: <BucketName-APPID>.cos.<Region>.myqcloud.comDate: GMT DateContent-Length: 0Authorization: Auth String
示例二
PUT / HTTP/1.1Host: <BucketName-APPID>.cos.<Region>.myqcloud.comDate: GMT DateContent-Type: application/xmlContent-Length: Content LengthContent-MD5: MD5Authorization: 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 | 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.1Host: examplebucket-1250000000.cos.ap-beijing.myqcloud.comDate: Sun, 26 May 2019 14:51:38 GMTContent-Length: 0Authorization: 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 OKContent-Length: 0Connection: closeDate: Sun, 26 May 2019 14:51:37 GMTServer: tencent-cosx-cos-request-id: NWNlYWE3ZjlfZDQyNzVkNjRfMzg1N18yNzFh****
案例二:指定公有读并授权特定用户读取权限和写入对象
请求
PUT / HTTP/1.1Host: examplebucket-1250000000.cos.ap-beijing.myqcloud.comDate: Fri, 14 Jun 2019 13:48:59 GMTx-cos-acl: public-readx-cos-grant-write: id="100000000002"x-cos-grant-read-acp: id="100000000002"Content-Length: 0Authorization: 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 OKContent-Length: 0Connection: closeDate: Fri, 14 Jun 2019 13:49:00 GMTServer: tencent-cosx-cos-request-id: NWQwM2E1Y2NfZjBhODBiMDlfOTM1YV83NDRi****
案例三:创建多 AZ 存储桶
请求
PUT / HTTP/1.1Host: examplebucket-1250000000.cos.ap-beijing.myqcloud.comDate: Thu, 04 Jun 2020 06:06:09 GMTContent-Type: application/xmlContent-Length: 96Content-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 OKContent-Length: 0Connection: closeDate: Thu, 04 Jun 2020 06:06:10 GMTServer: tencent-cosx-cos-request-id: NWVkODhmNTFfM2JiODJhMDlfMjg4NmFfMzA5ZmE2****
案例四:创建存储桶同时添加存储桶标签
以下请求示例,用于在北京地域创建存储桶
examplebucket-1250000000
,同时为存储桶添加两个存储桶标签 <a,a>
和 <b,b>
。请求
PUT / HTTP/1.1Host: examplebucket-1250000000.cos.ap-beijing.myqcloud.comx-cos-tagging: a=a&b=bAuthorization: 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 OKContent-Length: 0Connection: keep-aliveDate: Thu, 03 Nov 2022 03:43:30 GMTServer: tencent-cosx-cos-request-id: NjM2MzM4ZTJfZDRiNTE0M********