package com.xzjie.oss; import java.util.List; import com.aliyun.oss.model.Bucket; import com.aliyun.oss.model.CannedAccessControlList; public interface BucketService { /** * 创建一个Bucket,如果创建成功,则返回新的Bucket <br> * * Bucket命名规则:<br> * 只能包括小写字母,数字,短横线(-) <br> * 必须以小写字母或者数字开头 <br> * 长度必须在3-63字节之间 * @param bucketName * @return */ Bucket create(String bucketName); /** * 判断Bucket是否存在 * @param bucketName * @return */ boolean bucketExist(String bucketName); /** * 删除Bucket<br> * 如果Bucket不为空(Bucket中有Object),则Bucket无法删除,必须清空Bucket后才能成功删除 * @param bucketName */ void delete(String bucketName); /** * Bucket权限控制 * * public-read-write: * 任何人(包括匿名访问)都可以对该bucket中的object进行上传、下载和删除操作;所有这些操作产生的费用由该bucket的创建者承担 * ,请慎用该权限。<br> * public-read: 只有该bucket的创建者可以对该bucket内的Object进行写操作(包括上传和删除);任何人(包括匿名访问) * 可以对该bucket中的object进行读操作。<br> * private: 只有该bucket的创建者才可以访问此Bukcet。其他人禁止对此Bucket做任何操作。<br> * @param bucketName * @param acl CannedAccessControlList是枚举类型,包含三个值: Private 、 PublicRead 、 PublicReadWrite ,它们分别对应相关权限 */ void setBucketAcl( String bucketName, CannedAccessControlList acl); /** * 列出用户所有的Bucket * @return */ List<Bucket> list() ; }