閱讀114 返回首頁    go iPhone_iPad_Mac_apple


PutBucketLifecycle__關於Bucket的操作_API 參考_對象存儲 OSS-阿裏雲

Bucket的擁有者可以通過Put Bucket Lifecycle來設置Bucket的Lifecycle配置。Lifecycle開啟後,OSS將按照配置,定期自動刪除與Lifecycle規則相匹配的Object。

請求語法

  1. PUT /?lifecycle HTTP/1.1
  2. Date: GMT Date
  3. Content-Length:ContentLength
  4. Content-Type: application/xml
  5. Authorization: SignatureValue
  6. Host: BucketName.oss.aliyuncs.com
  7. <?xml version="1.0" encoding="UTF-8"?>
  8. <LifecycleConfiguration>
  9. <Rule>
  10. <ID>RuleID</ID>
  11. <Prefix>Prefix</Prefix>
  12. <Status>Status</Status>
  13. <Expiration>
  14. <Days>Days</Days>
  15. </Expiration>
  16. <AbortMultipartUpload>
  17. <Days>Days</Days>
  18. </AbortMultipartUpload>
  19. </Rule>
  20. </LifecycleConfiguration>

請求元素(Request Elements)

名稱 描述 是否必需
CreatedBeforeDate 指定規則何時之前生效。日期必需服從ISO8601的格式,並且總是UTC的零點。 例如:2002-10-11T00:00:00.000Z
類型:字符串
父節點:Expiration或者AbortMultipartUpload
Days和CreatedBeforeDate二選一
Days 指定規則在對象最後修改時間過後多少天生效。
類型:正整數
父節點:Expiration
Days和CreatedBeforeDate二選一
Expiration 指定Object規則的過期屬性。
類型:容器
子節點:Days或CreatedBeforeDate
父節點:Rule
AbortMultipartUpload 指定未完成的Part規則的過期屬性。
類型:容器
子節點:Days或CreatedBeforeDate
父節點:Rule
ID 規則唯一的ID。最多由255字節組成。當用戶沒有指定,或者該值為空時,OSS會為用戶生成一個唯一值。
類型:字符串
子節點:無
父節點:Rule
LifecycleConfiguration Lifecycle配置的容器,最多可容納1000條規則。
類型:容器
子節點:Rule
父節點:無
Prefix 指定規則所適用的前綴。隻有匹配前綴的對象才可能被該規則所影響。不可重疊。
類型:字符串
子節點:無
父節點:Rule
Rule 表述一條規則
類型:容器
子節點:ID,Prefix,Status,Expiration
父節點:LifecycleConfiguration
Status 如果其值為Enabled,那麼OSS會定期執行該規則;如果是Disabled,那麼OSS會忽略該規則。
類型:字符串
父節點:Rule
有效值:Enabled,Disabled

細節分析

  1. 隻有Bucket的擁有者才能發起Put Bucket Lifecycle請求,否則返回403 Forbidden消息。錯誤碼:AccessDenied。
  2. 如果此前沒有設置過Lifecycle,此操作會創建一個新的Lifecycle配置;否則,就覆寫先前的配置。
  3. 可以對Object設置過期時間,也可以對Part設置過期時間。這裏的Part指的是以分片上傳方式上傳,但最後未提交的分片。

    示例

請求示例:

  1. PUT /?lifecycle HTTP/1.1
  2. Host: oss-example.oss.aliyuncs.com
  3. Content-Length: 443
  4. Date: Mon, 14 Apr 2014 01:08:38 GMT
  5. Authorization: OSS qn6qrrqxo2oawuk53otfjbyc:KU5h8YMUC78M30dXqf3JxrTZHiA=
  6. <?xml version="1.0" encoding="UTF-8"?>
  7. </LifecycleConfiguration>
  8. <Rule>
  9. <ID>delete objects and parts after one day</ID>
  10. <Prefix>logs/</Prefix>
  11. <Status>Enabled</Status>
  12. <Expiration>
  13. <Days>1</Days>
  14. </Expiration>
  15. <AbortMultipartUpload>
  16. <Days>1</Days>
  17. </AbortMultipartUpload>
  18. </Rule>
  19. <Rule>
  20. <ID>delete created before date</ID>
  21. <Prefix>backup/</Prefix>
  22. <Status>Enabled</Status>
  23. <Expiration>
  24. <CreatedBeforeDate>2014-10-11T00:00:00.000Z</CreatedBeforeDate>
  25. </Expiration>
  26. <AbortMultipartUpload>
  27. <CreatedBeforeDate>2014-10-11T00:00:00.000Z</CreatedBeforeDate>
  28. </AbortMultipartUpload>
  29. </Rule>
  30. </LifecycleConfiguration>

返回示例:

  1. HTTP/1.1 200 OK
  2. x-oss-request-id: 534B371674E88A4D8906008B
  3. Date: Mon, 14 Apr 2014 01:17:10 GMT
  4. Content-Length: 0
  5. Connection: keep-alive
  6. Server: AliyunOSS

最後更新:2016-11-23 17:16:07

  上一篇:go PutBucketReferer__關於Bucket的操作_API 參考_對象存儲 OSS-阿裏雲
  下一篇:go GetBucket__關於Bucket的操作_API 參考_對象存儲 OSS-阿裏雲