有奖捉虫:云通信与企业服务文档专题,速来> HOT

简介

本文档提供关于存储桶的基本操作 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。详情请参见 异常处理