存储桶操作

最近更新时间:2024-05-21 15:08:21

我的收藏

简介

本文档提供关于存储桶的基本操作 API 概览以及 SDK 示例代码。
注意:
建议用户 使用临时密钥 调用 SDK,通过临时授权的方式进一步提高 SDK 使用的安全性。申请临时密钥时,请遵循 最小权限指引原则,防止泄露目标存储桶或对象之外的资源。
如果您一定要使用永久密钥,建议遵循 最小权限指引原则 对永久密钥的权限范围进行限制。
API
操作名
操作描述
查询存储桶列表
查询指定账号下所有的存储桶列表
创建存储桶
在指定账号下创建一个存储桶
检索存储桶
检索存储桶是否存在
删除存储桶
删除指定账号下的空存储桶

查询存储桶列表

功能说明

查询指定账号下所有的存储桶列表。

方法原型

public List<Bucket> listBuckets() throws CosClientException, CosServiceException;

请求示例

// 如果只调用 listBuckets 方法,则创建 cosClient 时指定 region 为 new Region("") 即可
List<Bucket> buckets = cosClient.listBuckets();
for (Bucket bucketElement : buckets) {
String bucketName = bucketElement.getName();
String bucketLocation = bucketElement.getLocation();
}

参数说明

返回结果说明

成功:返回一个 所有 Bucket 类的列表,Bucket 类包含了 bucket 成员,location 等信息。
失败:发生错误(如 Bucket 不存在),抛出异常 CosClientException 或者 CosServiceException。详情请参见 异常处理

创建存储桶

功能说明

在指定账号下创建一个存储桶。同一用户账号下,可以创建多个存储桶,数量上限是200个(不区分地域),存储桶中的对象数量没有限制。创建存储桶是低频操作,一般建议在控制台创建 Bucket,在 SDK 进行 Object 的操作。

方法原型

public Bucket createBucket(String bucketName) throws CosClientException, CosServiceException;

请求示例

String bucket = "examplebucket-1250000000"; //存储桶名称,格式:BucketName-APPID
CreateBucketRequest createBucketRequest = new CreateBucketRequest(bucket);
// 设置 bucket 的权限为 Private(私有读写), 其他可选有公有读私有写, 公有读写
createBucketRequest.setCannedAcl(CannedAccessControlList.Private);
Bucket bucketResult = cosClient.createBucket(createBucketRequest);
// 如果需要创建多AZ桶,请调用函数createMAZBucket
// 请注意对象存储多 AZ 特性目前仅支持北京、广州、上海、中国香港、新加坡地域
// Bucket bucketResult = cosClient.createMAZBucket(createBucketRequest);

参数说明

参数名称
描述
类型
bucketName
Bucket 的命名规则为 BucketName-APPID,详情请参见 存储桶概述
String

返回结果说明

成功: Bucket 类,包含有关 Bucket 的描述(Bucket 的名称,owner 和创建日期)。
失败: 发生错误(如身份认证失败),抛出异常 CosClientException 或者 CosServiceException。详情请参见 异常处理

检索存储桶

功能说明

检索存储桶是否存在。

方法原型

public boolean doesBucketExist(String bucketName)
throws CosClientException, CosServiceException;

请求示例

// bucket的命名规则为 BucketName-APPID ,此处填写的存储桶名称必须为此格式
String bucketName = "examplebucket-1250000000";
boolean bucketExistFlag = cosClient.doesBucketExist(bucketName);

参数说明

参数名称
描述
类型
bucketName
Bucket 的命名规则为 BucketName-APPID,详情请参见 存储桶概述
String

返回结果说明

成功:存在返回 true,否则 false。
失败:发生错误(如身份认证失败),抛出异常 CosClientException 或者 CosServiceException。详情请参见 异常处理

删除存储桶

功能说明

删除指定账号下的空存储桶。

方法原型

public void deleteBucket(String bucketName) throws CosClientException, CosServiceException;

请求示例

// bucket的命名规则为 BucketName-APPID ,此处填写的存储桶名称必须为此格式
String bucketName = "examplebucket-1250000000";
cosClient.deleteBucket(bucketName);

参数说明

参数名称
描述
类型
bucketName
Bucket 的命名规则为 BucketName-APPID,详情请参见 存储桶概述
String

返回结果说明

成功:无返回值。
失败:发生错误(如身份认证失败),抛出异常 CosClientException 或者 CosServiceException。详情请参见 异常处理

相关示例

关于本文所述的4个存储桶基本操作的完整示例,请前往 GitHub 查看。