简介
本文档提供关于存储桶的基本操作 API 概览以及 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-APPIDCreateBucketRequest createBucketRequest = new CreateBucketRequest(bucket);// 设置 bucket 的权限为 Private(私有读写), 其他可选有公有读私有写, 公有读写createBucketRequest.setCannedAcl(CannedAccessControlList.Private);Bucket bucketResult = cosClient.createBucket(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。详情请参见 异常处理。