IBM Cloud Docs
函数运行时

函数运行时

Code Engine包括 受管理的运行时,您可以将其用于您的函数。

受管运行时包括 Node.js 和 Python 版本以及特定的 CPU 和内存组合。 这些运行时针对快速启动进行了优化。 这些运行时已预热,可避免拉取容器镜像和启动容器与进程。 您的代码将注入到已在运行的容器中。

需要部署容器映像吗? 请参阅 使用应用程序使用作业和作业运行。 不确定要创建哪种类型的 Code Engine 工作负载? 请参阅 规划 Code Engine

Code Engine 上的函数支持的受管运行时

以下运行时作为受管运行时受支持。

  • Node.js 18 和 Node.js 20
  • Python 3.11

功能支持的 CPU 和内存组合

请参阅以下列表以获取函数的 CPU 和内存的有效组合。

  • 0.25 vCPU 和 1 GB 内存
  • 0.5 vCPU 和 2 GB 内存
  • 1 个 vCPU 和 4 GB 内存(默认

有关内存和 CPU 信息,请参阅 支持的内存和 CPU 组合

运行时支持生命周期

受管运行时对 Code Engine 函数的支持生命周期取决于其所基于的编程语言版本的官方支持周期。 如果函数使用的运行时达到寿命终点,函数就会停止工作。 生命周期结束前是一个废弃期(通常为 6 个月),在用户迁移到新发布的运行时期间,运行时将继续接收安全更新。 下表列出了折旧和报废日期:

折旧和报废日期
运行时 不推荐 使用寿命终止
Node.js 18 2024 年 10 月 1 日 2025 年 4 月 30 日
Node.js 20 2025 年 11 月 1 日 2026 年 4 月 30 日
Python 3.11 2027 年 5 月 1 日 2027 年 9 月 30 日

将函数升级到新的运行时版本

新的运行时版本可能包含破坏性的 API 更改,功能可能需要更改代码,这些都必须经过测试。 使用Code Engine ibmcloud ce function update --runtime CLI 命令更新现有函数,以使用新的运行时版本。 这样做会立即导致函数以新的(选定的)运行时版本为基础运行(=就地更新)。 因此,不要在生产代码中使用任何就地更新。 在迁移阶段创建测试功能。

更新生产代码取决于是否可以接受更改函数的 URL,或者是否必须保留 URL:

  • 如果可以接受功能 URL 端点更改:

    • 使用新的运行时版本,基于与原始函数相同的源代码(或代码包)创建一个新函数。
    • 确保新功能按预期运行。 如果没有,则调整源代码并重建函数。
    • 使用新的功能 URL 并删除之前的版本。
  • 如果必须保留原始功能 URL 端点:

    • 使用新的运行时版本,在与原始函数相同的源代码(或代码包)基础上创建一个新函数(作为测试函数
    • 确保测试功能按预期运行。 如果没有,则调整代码并重建测试功能。
    • 更新原始函数,以使用新的运行时版本和经过调整的源代码。