【OSS】 Bucket相关操作
2015-08-09 14:36
288 查看
package com.ls; import java.util.ArrayList; import java.util.List; import com.aliyun.oss.OSSClient; import com.aliyun.oss.model.Bucket; import com.aliyun.oss.model.BucketList; import com.aliyun.oss.model.CannedAccessControlList; import com.aliyun.oss.model.CreateBucketRequest; import com.aliyun.oss.model.ListBucketsRequest; /** Bucket相关操作,创建,修改,删除等 * @author Administrator * */ public class ExampleForBucket { private static final String ACCESS_ID = "****************"; private static final String ACCESS_KEY = "******************************"; private static final String OSS_ENDPOINT = "http://oss.aliyuncs.com/"; public static void createBucket(OSSClient client) { /* Bucket访问权限,三种:私有、公共读、公共读写 */ CannedAccessControlList acl = CannedAccessControlList.PublicReadWrite; /* 直接通过Bucket名称创建 */ String bucketName = "lonshinesaas";// Bucket名称 client.createBucket(bucketName);// 创建Bucket,ACL默认为私有 client.setBucketAcl(bucketName, acl);// 设置指定Bucket的读写权限Access Control // List(ACL)。 /* 通过一个Bucket对象来创建 */ CreateBucketRequest bucketObj = new CreateBucketRequest(null);// 构造函数入参为Bucket名称,可以为空 bucketObj.setBucketName("hzsaastest");// 设置bucketObj名称 bucketObj.setCannedACL(CannedAccessControlList.PublicRead);// 设置bucketObj访问权限acl client.createBucket(bucketObj);// 创建Bucket } public static void deleteBucket(OSSClient client, String bucketName) { /*判断给定Bucket是否存在。*/ boolean isBucket = client.doesBucketExist(bucketName); if(isBucket){ /* 通过Bucket名称删除 */ client.deleteBucket(bucketName); }else{ System.out.println("Bucket:"+bucketName+"不存在,无法删除!"); } /* * 说明: * 1.Bucket不存在无法删除:The specified bucket does not exist. * 2.Bucket不为空无法删除:The bucket you tried to delete is not empty. */ } public static void getBucketList(OSSClient client) { /* 返回请求者拥有的所有Bucket的列表。 */ List<Bucket> list1 = new ArrayList<Bucket>(); list1 = client.listBuckets(); for (Bucket a : list1) { System.out.println("list1 info:" + a.toString()); } System.out.println("----------------------------------------------------------------"); /* 按要求返回请求者的Bucket列表。 */ BucketList list2 = new BucketList(); ListBucketsRequest condition = new ListBucketsRequest(); condition.setPrefix("hz");// 限定返回的bucket name必须以prefix作为前缀。不设定则返回全部 condition.setMaxKeys(5);// 此次返回bucket的最大数,如果不设定,默认为100。 condition.setMarker("a");// 用户设定结果从marker之后按字母排序的第一个开始返回。 list2 = client.listBuckets(condition); for (Bucket a : list2.getBucketList()) { System.out.println("list2 info:" + a.toString()); } System.out.println("----------------------------------------------------------------"); /* 按要求返回请求者的Bucket列表。(方法2) */ BucketList list3 = new BucketList(); /* * 参数: prefix - 限定返回的bucket的名字必须以prefix作为前缀,可以为null(表示不设置前缀) * marker - 设定结果从marker之后按字母排序的第一个开始返回,可以为null(表示没有marker的点,从头开始返回) * maxKeys- 限定此次返回bucket的最大数,取值不能大于1000,默认为100,可以为null(表示默认返回最多100个) */ list3 = client.listBuckets("s", null, 1); for (Bucket a : list3.getBucketList()) { System.out.println("list3 info:" + a.toString()); } } public static void main(String[] args) { // 初始化OSS客户端 OSSClient client = new OSSClient(OSS_ENDPOINT, ACCESS_ID, ACCESS_KEY); createBucket(client); deleteBucket(client,"saas01"); deleteBucket(client,"saas02"); deleteBucket(client,"saas03"); getBucketList(client); System.out.println("OK"); //关闭 client.shutdown(); } }
相关文章推荐
- codeforces 533B B. Work Group(树形dp)
- vim下单行长文本的时候卡顿解决办法
- 一些关于Calendar使用,Android坑爹的日历
- The Dole Queue
- matlab中linprog函数
- LintCode-分割回文串 II
- 博客开通了
- 解决Django使用MySQL报模块找不到的错误
- 通知和代理
- 第21章 动态链接库和钩子(1)
- 你感觉到运维的耻辱感了吗?
- 倒计时
- Objective-C学习笔记_NSString、NSArray、NSNumber
- Git客户端工具GitExtensions安装
- js获取时间及倒计时
- linux 信号signal和sigaction理解
- C++ 模板详解(二)
- webshell防范的一点笔记
- python中的模块以及package的小结
- Mysql那些琐碎