日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

阿里云创建管理bucket(一)

發布時間:2023/12/14 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 阿里云创建管理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){ // System.out.println(bucketName + " " + storageClass + " " + dataRedundancyType + " " + cannedACL);//1,參數列表:bucketName:桶名稱 storageClass:存儲類型// dataRedundancyType:數據容災類型// 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

    //列舉有參數的Bucketpublic List<Bucket> listRequestBuckets(String Prefix, String Marker, int maxKeys) {//調用該方法需要三個參數中至少有一個不為空//Prefix代表列舉Bucket的前綴(如果沒有,前端傳空字符串)//Marker代表列舉的起始位置(如果沒有,前端傳空字符串)//maxKeys表示列舉空間的指定個數,默認值為100,如果傳過來0轉換成100OSS 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){//輸入參數:bucektNameOSS 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){//輸入參數:bucketName//返回值:包含地域、創建日期、擁有者信息、權限信息、容災類型的一個map集合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){//輸入的acl只能是1 || 2 || 3OSS 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(一)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。