閱讀399 返回首頁    go iPhone_iPad_Mac_apple


生命周期管理__Java-SDK_SDK 參考_對象存儲 OSS-阿裏雲

OSS允許用戶對Bucket設置生命周期規則,以自動淘汰過期掉的文件,節省存儲空間。針對不同前綴的文件,用戶可以同時設置多條規則。一條規則包含:

  • 規則ID,用於標識一條規則,不能重複
  • 受影響的文件前綴,此規則隻作用於符合前綴的文件
  • 過期時間,有三種指定方式:
    1. 指定距文件最後修改時間N天過期
    2. 指定日期創建前的文件過期,之後的不過期
    3. 指定在具體的某一天過期,即在那天之後符合前綴的文件將會過期,而不論文件的最後修改時間。不推薦使用。
  • 是否生效

上麵的過期規則對用戶上傳的文件有效。用戶通過uploadPart上傳的分片,也可以設置過期規則。Multipart的Lifecycle和文件的類似,過期時間支持1、2兩種,不支持3,生效是以init Multipart upload的時間為準。

更多關於生命周期的內容請參考 文件生命周期

設置生命周期規則

通過OSSClient.setBucketLifecycle來設置生命周期規則:

  1. SetBucketLifecycleRequest request = new SetBucketLifecycleRequest("bucketName");
  2. // 最近修改3天後過期
  3. request.AddLifecycleRule(new LifecycleRule(ruleId0, matchPrefix0, RuleStatus.Enabled, 3));
  4. // 特定日期後過期
  5. request.AddLifecycleRule(new LifecycleRule(ruleId1, matchPrefix1, RuleStatus.Enabled,
  6. DateUtil.parseIso8601Date("2022-10-12T00:00:00.000Z")));
  7. // 特定日期前創建的文件過期
  8. LifecycleRule rule = new LifecycleRule(ruleId4, matchPrefix4, RuleStatus.Enabled);
  9. rule.setCreatedBeforeDate(DateUtil.parseIso8601Date("2022-10-12T00:00:00.000Z"));
  10. request.AddLifecycleRule(rule);
  11. // Multipart3天後過期
  12. rule = new LifecycleRule(ruleId2, matchPrefix2, RuleStatus.Enabled);
  13. LifecycleRule.AbortMultipartUpload abortMultipartUpload = rule.new AbortMultipartUpload();
  14. abortMultipartUpload.setExpirationDays(3);
  15. rule.setAbortMultipartUpload(abortMultipartUpload);
  16. request.AddLifecycleRule(rule);
  17. // 特定日期前的Multipart過期
  18. rule = new LifecycleRule(ruleId3, matchPrefix3, RuleStatus.Enabled);
  19. abortMultipartUpload = rule.new AbortMultipartUpload();
  20. abortMultipartUpload.setCreatedBeforeDate(DateUtil.parseIso8601Date("2022-10-12T00:00:00.000Z"));
  21. rule.setAbortMultipartUpload(abortMultipartUpload);
  22. request.AddLifecycleRule(rule);
  23. ossClient.setBucketLifecycle(request);

查看生命周期規則

通過OSSClient.GetBucketLifecycle來查看生命周期規則:

  1. List<LifecycleRule> rules = ossClient.getBucketLifecycle("bucketName");
  2. for (LifecycleRule rule : rules) {
  3. System.out.println(rule.getId());
  4. System.out.println(rule.getPrefix());
  5. System.out.println(rule.getExpirationDays());
  6. }

清空生命周期規則

通過OSSClient.DeleteBucketLifecycle設置來清空生命周期規則:

  1. ossClient.deleteBucketLifecycle("bucketName");

最後更新:2016-11-23 16:54:18

  上一篇:go 授權訪問__Java-SDK_SDK 參考_對象存儲 OSS-阿裏雲
  下一篇:go 跨域資源共享__Java-SDK_SDK 參考_對象存儲 OSS-阿裏雲