Lambda 自動刪除渲染
透過 AWS S3 生命週期規則自動刪除 Remotion Lambda 渲染結果,支援 1 天、3 天、7 天及 30 天後自動清理
Lambda 自動刪除渲染
Remotion Lambda 渲染完成後,輸出的影片與中繼檔案會儲存在 AWS S3 儲存桶中。若不定期清理,這些檔案會持續累積並產生儲存費用。本頁說明如何設定自動刪除機制,以管理儲存空間與降低成本。
自動刪除選項
在渲染 API 中設定刪除後效期
renderMediaOnLambda() 提供 deleteAfter 參數,可指定渲染輸出在 S3 上保留的天數。到期後,S3 生命週期規則會自動刪除相關物件。
import { renderMediaOnLambda } from "@remotion/lambda/client";
const { renderId, bucketName } = await renderMediaOnLambda({
region: "us-east-1",
functionName: "remotion-render-4-0-0-mem2048mb-disk2048mb-120sec",
serveUrl: "https://remotionlambda-abc123.s3.us-east-1.amazonaws.com/sites/my-video/index.html",
composition: "MyVideo",
inputProps: {},
codec: "h264",
// 指定渲染輸出保留天數,到期後自動刪除
deleteAfter: "1-day",
});deleteAfter 接受以下預設值:
| 值 | 說明 |
|---|---|
"1-day" | 1 天後刪除 |
"3-days" | 3 天後刪除 |
"7-days" | 7 天後刪除 |
"30-days" | 30 天後刪除 |
設定此參數後,Remotion 會自動在 S3 物件上套用對應的標籤,並依賴 S3 生命週期政策完成實際刪除。
在 CLI 中設定刪除後效期
使用 CLI 渲染時,可透過 --delete-after 旗標設定:
npx remotion lambda render \
https://remotionlambda-abc123.s3.us-east-1.amazonaws.com/sites/my-video/index.html \
MyVideo \
--delete-after="7-days"S3 生命週期規則
Remotion 會在 S3 儲存桶上自動設定生命週期規則。生命週期規則會依據 S3 物件標籤來判斷是否刪除:
| S3 標籤 | 對應效期 |
|---|---|
remotion-delete-after=1-day | 1 天 |
remotion-delete-after=3-days | 3 天 |
remotion-delete-after=7-days | 7 天 |
remotion-delete-after=30-days | 30 天 |
注意:生命週期規則由 Remotion 在第一次部署或渲染時自動建立。你不需要手動在 AWS 控制台設定這些規則。
自動刪除的覆蓋範圍
deleteAfter 會套用至以下 S3 路徑下的所有物件:
renders/<renderId>/— 渲染輸出(最終影片、截圖等)renders/<renderId>/chunks/— 分塊渲染的暫存片段renders/<renderId>/progress.json— 渲染進度追蹤檔案
最終輸出的影片檔案也包含在刪除範圍內。若你需要長期保存輸出,請在刪除前將檔案複製到另一個 S3 儲存桶或其他儲存服務。
手動清理舊渲染
若有大量尚未設定 deleteAfter 的舊渲染輸出,可透過 AWS CLI 進行批次清理:
# 列出儲存桶中的所有渲染資料夾
aws s3 ls s3://remotionlambda-<region>-<accountid>/renders/
# 刪除特定渲染的所有輸出
aws s3 rm s3://remotionlambda-<region>-<accountid>/renders/<renderId>/ --recursive
# 刪除所有超過 30 天未修改的渲染(需搭配 find 工具)或者使用 AWS 控制台,在 S3 儲存桶頁面中手動設定生命週期規則。
進階:自訂 S3 生命週期規則
若你需要更細緻的控制,可以在 AWS S3 控制台中自訂生命週期規則:
- 前往 AWS S3 控制台
- 找到以
remotionlambda-開頭的儲存桶 - 點擊「管理」標籤,選擇「建立生命週期規則」
- 設定篩選條件(例如:前綴
renders/) - 設定到期動作(例如:30 天後刪除物件)
{
"Rules": [
{
"ID": "DeleteOldRenders",
"Status": "Enabled",
"Filter": {
"Prefix": "renders/"
},
"Expiration": {
"Days": 30
}
}
]
}費用考量
S3 的儲存費用按月計算,每 GB 約 $0.023(視區域而定)。若你的渲染輸出量大,定期清理可以顯著降低費用。
建議依照業務需求設定合理的 deleteAfter 值:
- 臨時渲染預覽:
"1-day" - 短期業務資料:
"7-days" - 需要審核的輸出:
"30-days" - 需長期保存:不設定
deleteAfter,或設定後先複製到歸檔儲存桶