我在 S3 標準存盤桶中有 50TB 的資料。
我想使用 S3 生命周期策略將大于 100MB 且超過 30 天的物件轉換到 AWS Glacier。
如何僅過渡大小超過 100MB 的物件?
uj5u.com熱心網友回復:
無法根據檔案大小轉換專案。
顧名思義,S3生命周期策略允許您根據物件生命周期(而不是檔案大小)指定轉換操作,以將專案從 S3 標準存盤類移動到 S3 Glacier。
現在,可能建議的一種非常低效且成本高昂的方法是安排 Lambda 每天檢查 S3 存盤桶,查看是否有 30 天之久的東西,然后將專案“移動”到 Glacier。
但是,除非通過生命周期策略,否則Glacier API 不允許您將專案從 S3 Standard移動到 Glacier。
這意味著您需要下載S3 物件,然后再次將該專案重新上傳到 Glacier。
我仍然建議每天運行一個 Lambda 來檢查專案的檔案大小,但是,例如創建另一個名為存檔的檔案夾(密鑰)。如果有任何專案超過30天及大于100MB,復制從當前檔案夾的專案到存檔檔案夾中,然后洗掉原始專案。
設定 0 天生命周期策略,根據其他檔案夾 ( archive )的前綴進行過濾,然后盡快將專案轉換到 Glacier。
這樣,您將能夠在 30 天后傳輸大于 100MB 的專案,而無需支付與將專案上傳到 Glacier 相關的更高的每次請求費用,這甚至可能比您最初的目標節省更多。
稍后要將物件從 Glacier 轉換回 S3 標準,請使用RestoreObjectAPI(或 SDK 等效項)將其恢復回原始檔案夾。最后,使用DELETE對存檔 URL的請求從 Glacier 中洗掉物件。
uj5u.com熱心網友回復:
創建一個每天運行的lambda(cron 作業),用于檢查存盤桶中超過 30 天且大于 100mb 的檔案。您可以使用s3 api和 Glacier api。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/318860.html
