升級 Lambda
說明如何將 Remotion Lambda 升級到最新版本,包含零停機升級的步驟與注意事項。
升級 Lambda
本頁說明如何將 Remotion Lambda 升級到最新版本。
1. 升級所有 Remotion 套件
將所有套件升級到最新版本(包括 @remotion/lambda,以及 remotion、@remotion/cli 等):
npx remotion upgrade升級完成後,您的 package.json 將會類似如下:
{
"@remotion/bundler": "4.0.1",
"@remotion/renderer": "4.0.1",
"@remotion/lambda": "4.0.1",
"remotion": "4.0.1"
}2. 部署新的 Lambda 函數
npx remotion lambda functions deploy詳見 npx remotion lambda functions deploy。
此命令會部署一個包含最新版本的新函數。若舊函數仍在生產環境中使用,可以保留不刪除。
3. 更新站點
npx remotion lambda sites create src/index.ts --site-name=my-name詳見 npx remotion lambda sites create。
傳入 --site-name 並指定現有站點名稱,即可更新該站點。URL 將保持不變,但舊版函數可能無法渲染已更新的站點。
若不傳入 --site-name,則會產生新的站點 URL。您需要更新 renderMediaOnLambda() 呼叫中的 serveUrl 參數。
建議函數、站點及呼叫渲染的 @remotion/lambda 套件均使用相同版本。若站點與函數版本不同,可能會出現版本不匹配警告;若協議有所變更,渲染甚至可能失敗。
4. 移除舊函數
注意:請僅在舊函數不再於生產環境中使用時才執行此步驟。
npx remotion lambda functions rm <function-name>詳見 npx remotion lambda functions rm。
零停機升級
如果您已將 Remotion Lambda 部署到生產環境,可以按照以下步驟進行零停機升級:
- 部署新函數並建立新站點,舊函數和站點不受影響。
- 更新應用程式中的
@remotion/lambda套件版本、函數名稱及serveUrl。 - 發布應用程式更新。從此時起,所有新的渲染都使用新函數和新站點。
- 一旦舊版本上沒有進行中的渲染,即可移除舊函數和站點。
常用指令
- 列出已部署的函數及其版本:
npx remotion lambda functions ls - 找到符合已安裝版本的函數:使用
compatibleOnly參數。 - 列出已部署的站點:
npx remotion lambda sites ls