简介
本文档提供关于存储桶基本操作的相关 API 概览以及 SDK 示例代码。
API | 操作名 | 操作描述 |
查询存储桶列表 | 查询指定账号下所有的存储桶列表 | |
创建存储桶 | 在指定账号下创建一个存储桶 | |
检索存储桶及其权限 | 检索存储桶是否存在且是否有权限访问 | |
删除存储桶 | 删除指定账号下的空存储桶 |
查询存储桶列表
功能说明
用于查询指定账号下所有存储桶列表。
示例代码
try {ListAllMyBuckets listAllMyBuckets = await Cos().getDefaultService().getService();// 存储桶列表详情请查看 ListAllMyBuckets 类} catch (e) {// 失败后会抛异常 根据异常进行业务处理print(e);}
参数说明
无
返回结果说明
成功:返回 ListAllMyBuckets 包含:存储桶列表和存储桶持有者信息。
失败:发生错误(如身份认证失败),抛出异常 CosXmlClientException 或者 CosXmlServiceException。详情请参见 异常处理。
ListAllMyBuckets 响应包体具体数据内容如下:
参数名称 | 描述 | 类型 |
buckets | 存储桶列表 | List<Bucket> |
owner | 存储桶持有者信息 | Owner |
存储桶(Bucket)中包含如下内容:
参数名称 | 描述 | 类型 |
name | 存储桶的名称 | String |
location | 存储桶所在地域 | String |
createDate | 存储桶的创建时间,为 ISO8601 格式,例如2019-05-24T10:56:40Z | String |
存储桶持有者信息(Owner)中包含如下内容:
参数名称 | 描述 | 类型 |
id | 完整 ID | String |
disPlayName | 存储桶持有者的名字 | String |
创建存储桶
功能说明
创建一个存储桶(PUT Bucket)。
示例代码
// 存储桶名称,由 bucketname-appid 组成,appid 必须填入,可以在 COS 控制台查看存储桶名称。 https://console.cloud.tencent.com/cos5/bucketString bucket = "examplebucket-1250000000";// 存储桶所在地域简称,例如广州地区是 ap-guangzhouString region = "COS_REGION";// 是否开启多 AZbool enableMAZ = false;try {await Cos().getDefaultService().putBucket(bucket,region: region,enableMAZ: enableMAZ);} catch (e) {// 失败后会抛异常 根据异常进行业务处理print(e);}
参数说明
参数名称 | 描述 | 类型 | 是否必选 |
bucket | 桶名称,Bucket 的命名规则为 BucketName-APPID,详情请参见 存储桶概述 | String | 是 |
enableMAZ | 是否创建多 AZ 存储桶 | String | 否 |
返回结果说明
成功:无返回值。
失败:发生错误(如身份认证失败),抛出异常 CosXmlClientException 或者 CosXmlServiceException。详情请参见 异常处理。
检索存储桶及其权限
功能说明
HEAD Bucket 请求可以确认该存储桶是否存在,是否有权限访问。有以下几种情况:
存储桶存在且有读取权限,返回 HTTP 状态码为200。
无存储桶读取权限,返回 HTTP 状态码为403。
存储桶不存在,返回 HTTP 状态码为404。
示例代码
// 存储桶名称,由 bucketname-appid 组成,appid 必须填入,可以在 COS 控制台查看存储桶名称。 https://console.cloud.tencent.com/cos5/bucketString bucket = "examplebucket-1250000000";// 存储桶所在地域简称,例如广州地区是 ap-guangzhouString region = "COS_REGION";try {Map<String?, String?> header = await Cos().getDefaultService().headBucket(bucket,region: region);// HTTP 状态码为200,HTTP 头为 header} catch (e) {// e.statusCode 查看具体的 HTTP 状态码print(e);}
参数说明
参数名称 | 描述 | 类型 |
bucket | 桶名称,Bucket 的命名规则为 BucketName-APPID,详情请参见 存储桶概述 | String |
返回结果说明
成功:返回 HTTP Header。
失败:发生错误(如身份认证失败),抛出异常 CosXmlClientException 或者 CosXmlServiceException。详情请参见 异常处理。
删除存储桶
功能说明
删除指定的存储桶(DELETE Bucket)。
注意
删除存储桶前,请确保存储桶内的数据和未完成上传的分块数据已全部清空,否则会无法删除存储桶。
示例代码
// 存储桶名称,由 bucketname-appid 组成,appid 必须填入,可以在 COS 控制台查看存储桶名称。 https://console.cloud.tencent.com/cos5/bucketString bucket = "examplebucket-1250000000";// 存储桶所在地域简称,例如广州地区是 ap-guangzhouString region = "COS_REGION";try {await Cos().getDefaultService().deleteBucket(bucket,region: region);} catch (e) {// 失败后会抛异常 根据异常进行业务处理print(e);}
参数说明
参数名称 | 描述 | 类型 |
bucket | 桶名称,Bucket 的命名规则为 BucketName-APPID,详情请参见 存储桶概述 | String |
返回结果说明
成功:无返回值。
失败:发生错误(如身份认证失败),抛出异常 CosXmlClientException 或者 CosXmlServiceException。详情请参见 异常处理。