生活随笔
收集整理的這篇文章主要介紹了
阿里云创建管理bucket(一)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
創建Bucket(一)
定義常量值:endpoint(訪問域名)
accessKeyId (ram賬號訪問秘鑰id)
accessKeySecret(ram子賬號秘鑰密碼)
創建Bucket
createBucket(String bucketName, int storageClass, int dataRedundancyType, int cannedACL)
輸入參數 bucketName:桶名稱 storageClass:存儲類型
dataRedundancyType:數據容災類型
cannedACL:數據讀寫權限
我們除了第一個參數是用戶自己定義的字符串外,其他三個參數都是該存儲空間的配置屬性
我們在傳入時采用int型 具體取值如下
存儲類型:1:標準 2:低頻 3:歸檔 4:冷歸檔
容災類型:0:默認無 1:有
讀寫權限:0:默認私有 1:公共讀 2:公共讀寫
輸出:出參:int 1:成功 0:失敗
public int createBucket(String bucketName
, int storageClass
, int dataRedundancyType
, int cannedACL
){
OSS ossClient
= new OSSClientBuilder().build(endpoint
, accessKeyId
, accessKeySecret
);
try{if(ossClient
.doesBucketExist(bucketName
)){System
.out
.println("您已創建Bucket:" + bucketName
+ "。");return 0;}else {System
.out
.println("您的Bucket不存在,創建Bucket:" + bucketName
+ "。");
CreateBucketRequest bucketRequest = new CreateBucketRequest(bucketName);switch (storageClass){case 1:bucketRequest.setStorageClass(StorageClass.Standard);break;case 2:bucketRequest.setStorageClass(StorageClass.IA);break;case 3:bucketRequest.setStorageClass(StorageClass.Archive);case 4:bucketRequest.setStorageClass(StorageClass.ColdArchive);}switch (dataRedundancyType){case 0:bucketRequest.setDataRedundancyType(DataRedundancyType.LRS);break;case 1:bucketRequest.setDataRedundancyType(DataRedundancyType.ZRS);break;}switch (cannedACL){case 1:bucketRequest.setCannedACL(CannedAccessControlList.Private);break;case 2:bucketRequest.setCannedACL(CannedAccessControlList.PublicRead);case 3:bucketRequest.setCannedACL(CannedAccessControlList.PublicReadWrite);}ossClient.createBucket(bucketRequest);}BucketInfo info = ossClient.getBucketInfo(bucketName);System.out.println("Bucket" + bucketName + "的信息如下: ");System.out.println("\t數據中心:" + info.getBucket().getLocation());System.out.println("\t創建時間: " + info.getBucket().getCreationDate());System.out.println("\t用戶標志:" + info.getBucket().getOwner());
} catch (OSSException oe){oe.printStackTrace();return 0;
} catch (Exception e){e.printStackTrace();return 0;
} finally{ossClient.shutdown();
}return 1;
}
3.列舉存儲空間
listAllBucket( ):
不需要參數,直接返回所有的Bucket
出參:List
public List
<Bucket> listAllBuckets(){OSS ossClient
= new OSSClientBuilder().build(endpoint
,accessKeyId
,accessKeySecret
);List
<Bucket> buckets
= ossClient
.listBuckets();for (Bucket bucket
: buckets
){System
.out
.println(" - " + bucket
.getName());}ossClient
.shutdown();return buckets
;}
列舉有參數的存儲空間
listRequestBucket():
前綴(Prefix):String,如果沒有,前端傳空字符串“”
起始 (Market):String,列舉Marker之后的所有Bucket,若無,傳空字符串“”
最大值(maxKeys):int, ,默認為100,如果不輸入,前端傳0
出參:List
public List
<Bucket> listRequestBuckets(String Prefix
, String Marker
, int maxKeys
) {OSS ossClient
= new OSSClientBuilder().build(endpoint
, accessKeyId
, accessKeySecret
);ListBucketsRequest listBucketsRequest
= new ListBucketsRequest();try {if (!Prefix
.isEmpty()) {listBucketsRequest
.setPrefix(Prefix
);}if (!Marker
.isEmpty()) {listBucketsRequest
.setMarker(Marker
);}if (maxKeys
== 0) {listBucketsRequest
.setMaxKeys(100);} else if (maxKeys
!= 0) {listBucketsRequest
.setMaxKeys(maxKeys
);}} catch (OSSException oe
) {return null
;} catch (Exception e
){return null
;}BucketList bucketList
= ossClient
.listBuckets(listBucketsRequest
);for(Bucket bucket
: bucketList
.getBucketList()){System
.out
.println(" - " + bucket
.getName());}ossClient
.shutdown();return bucketList
.getBucketList();}
判斷bucket是否存在
輸入參數:bucketName
輸出參數:布爾值 :存在 true
不存在 false
public boolean doesBucketExist(String bucketName
){OSS ossClient
= new OSSClientBuilder().build(endpoint
,accessKeyId
,accessKeySecret
);boolean exists
= ossClient
.doesBucketExist(bucketName
);System
.out
.println(exists
);ossClient
.shutdown();return exists
;}
獲取地域信息
getBucketLocation(String bucketName)
public String
getBucketLocation(String bucketName
){OSS ossClient
= new OSSClientBuilder().build(endpoint
,accessKeyId
,accessKeySecret
);String location
= ossClient
.getBucketLocation(bucketName
);System
.out
.println(location
);return location
;}
獲取存儲空間信息
getBucketInfo(String bucketName)
輸入參數:bucketName
輸出結果:一個map,包含信息:
存儲地域(Location)
創建日期 (CreationDate)
擁有者信息(Owner)
權限信息(Grants)
數據容災類型(DataRedundancyType)
public Map
<String,String> getBucketInfo(String bucketName
){OSS ossClient
= new OSSClientBuilder().build(endpoint
,accessKeyId
,accessKeySecret
);BucketInfo info
= ossClient
.getBucketInfo(bucketName
);String location
= info
.getBucket().getLocation();String creationDate
= info
.getBucket().getCreationDate().toString();String owner
= info
.getBucket().getOwner().toString();String grants
= info
.getGrants().toString();String dataRedundancyType
= info
.getDataRedundancyType().toString();Map
<String, String> map
= new HashMap<>();map
.put("Location", location
);map
.put("CreationDate", creationDate
);map
.put("Owner", owner
);map
.put("Grants", grants
);map
.put("DataRedundancyType", dataRedundancyType
);ossClient
.shutdown();return map
;}
7.獲取存儲空間訪問權限
public String
getBucketAcl(String bucketName
){OSS ossClient
= new OSSClientBuilder().build(endpoint
,accessKeyId
,accessKeySecret
);AccessControlList bucketAcl
= ossClient
.getBucketAcl(bucketName
);System
.out
.println(bucketAcl
.toString());ossClient
.shutdown();return bucketAcl
.toString();}
8.設置存儲空間訪問權限
public String
setBucketAcl(String bucketName
, int acl
){OSS ossClient
= new OSSClientBuilder().build(endpoint
,accessKeyId
,accessKeySecret
);try{switch (acl
){case 1:ossClient
.setBucketAcl(bucketName
,CannedAccessControlList
.Private
);break;case 2:ossClient
.setBucketAcl(bucketName
, CannedAccessControlList
.PublicRead
);break;case 3:ossClient
.setBucketAcl(bucketName
, CannedAccessControlList
.PublicReadWrite
);break;}} catch (OSSException e
) {e
.printStackTrace();return "false";} catch (ClientException e
) {e
.printStackTrace();return "false";}ossClient
.shutdown();return "設置存儲空間訪問權限成功";}
9.刪除存儲空間
public String
deleteBucket(String bucketName
){OSS ossClient
= new OSSClientBuilder().build(endpoint
,accessKeyId
,accessKeySecret
);try {ossClient
.deleteBucket(bucketName
);} catch (OSSException e
) {e
.printStackTrace();return "false";} catch (ClientException e
) {e
.printStackTrace();return "false";}ossClient
.shutdown();return "刪除存儲空間成功";}
總結
以上是生活随笔為你收集整理的阿里云创建管理bucket(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。