函數執行時期
Code Engine包含可用於您的函數的託管執行時間。
受管理執行時期包括 Node.js 和 Python 版本以及特定的 CPU 和記憶體組合。 這些執行時期已針對快速啟動進行最佳化。 這些運行時是預熱的,這避免了拉取容器映像以及啟動容器和進程。 您的程式碼會注入已在執行中的容器。
需要部署容器映像檔嗎? 請參閱 使用應用程式 或 使用工作及工作執行。 不確定要建立何種類型的 Code Engine 工作量? 請參閱 規劃 Code Engine。
Code Engine 上函數的受支援受管理執行時期
支援下列執行時期作為受管理執行時期。
- Node.js 20, 22 Node.js
- Python 3.11, Python 3.13
函數支援的 CPU 和記憶體組合
如需函數的有效 CPU 與記憶體組合,請參閱下列清單。
- 0.25 vCPU 和 1 GB 記憶體
- 0.5 vCPU和 2 GB 內存
- 1 個vCPU和 4 GB 記憶體(預設)
如需記憶體及 CPU 資訊,請參閱 支援的記憶體及 CPU 組合。
運行時支援生命週期
Code Engine函數的託管執行時期的支援生命週期取決於它們所基於的程式語言版本的官方支援週期。 如果您的函數使用的運行時達到其生命週期,您的函數將停止工作。 生命週期結束之前是一個棄用期(通常為六個月),在此期間,運行時在用戶遷移到新運行時版本期間繼續接收安全更新。 下表列出了棄用日期和生命週期結束日期:
運行環境 | 淘汰 | 使用期限 |
---|---|---|
Node.js 20 | 2025 年 11 月 1 日 | 2026 年 4 月 30 日 |
Node.js 22 | 2026 年 10 月 20 日 | 2027 年 4 月 30 日 |
Python 3.11 | 2025 年 10 月 31 日 | 2026 年 10 月 31 日 |
Python 3.13 | 2026 年 10 月 1 日 | 2027 年 4 月 30 日 |
將函數升級到新的運行時版本
新的運行時版本可能包含重大 API 更改,並且功能可能需要程式碼更改,而這些更改必須經過測試。 使用Code Engine ibmcloud ce function update --runtime
CLI 指令更新現有函數以使用新的執行時間版本。 這樣做會立即導致函數以新的(選定的)運行時版本作為基礎(=就地更新)運行。 因此,不要對生產代碼使用任何就地更新。 在遷移階段建立測試功能。
更新生產代碼取決於是否可以接受函式的 URL 有所改變,或是必須保留 URL:
-
如果功能 URL 端點變更是可以接受的:
- 使用新的運行時版本,基於與原始函數相同的原始程式碼(或程式碼包)建立新函數。
- 確保新功能能如預期運作。 如果沒有,請修改原始程式碼並重建該函數。
- 使用新功能 URL,並移除先前的版本。
-
如果必須保留原始功能 URL 端點:
- 透過使用新的運行時版本,基於與原始函數相同的原始程式碼(或程式碼包)來建立一個新函數(作為測試函數)
- 確保測試功能能如預期運作。 如果沒有,請調整程式碼並重建測試函數。
- 更新原始函數以使用新的運行時版本和改編的原始程式碼。