一開始有點搞錯方向,一直往 expiration 的方向去找,後來才知道要用 lifecycle 才對。
Expiration:
針對某個 object 產生特定的 URL 讓使用者存取,此 URL 是有期限的,期限到了就會失效,但 object 仍然會保留在伺服器上,同一個 object 可以產生多組 URL。Lifecycle:
針對某個 prefix 下的 object 去設定其 lifecycle,期限一到這些 object 就會安排到 queue 裡面去準備刪除。同一個 bucket 之下 Lifecycle Configuration Rules 只能設定 1000 條,所以 object 的命名就很重要了。
期限的設定有兩種,一種是絕對時間(ex: 2022-10-12T00:00:00.000Z),一種是存放時間(從上傳到S3那一刻開始算起,ex: 365 days),
Lifecycle implement 的方法
先參考:Object Lifecycle Management - Amazon Simple Storage Service
Manage Object Lifecycle Using the REST API
基本上就是把下面格式的 XML 以 PUT 的方式送到 http://bucketname.s3.amazonaws.com/?lifecycle
上例就是設定 logs 底下的 object 在 365天後轉移到 Glacier,並在3650天後自動刪除。rule_id logs/ Enabled 365 GLACIER 3650
Glacier 是 AWS 另一個儲存的服務,可以針對不常用的大型檔案,以 archive 的方式從 S3 轉移到 Glacier,價格低廉但取回的時間較長。
沒有留言:
張貼留言