次の方法で共有

如何指定 Azure Functions 运行时版本

函数应用在特定版本的 Azure Functions 运行时上运行。 默认情况下,在 Functions 运行时的最新 4.x 版本中创建函数应用。 函数应用只有在受支持的主要版本上运行时才会受支持。 本文介绍如何根据需要在 Azure 中配置函数应用以定位或 固定 到特定版本的 Functions 运行时。

注意事项

针对特定运行时版本时,请记住以下注意事项:

  • Flex Consumption 计划仅在运行时版本 4.x 上运行。 由于 Flex Consumption 计划不支持 FUNCTIONS_EXTENSION_VERSION 应用设置,因此应用在此计划中运行时不能面向特定的运行时版本。
  • 指定特定版本的方式取决于运行的是 Windows 还是 Linux。
  • 本文特定于 Windows 或 Linux。 在文章顶部选择操作系统。
  • 如果可能,请始终在最新支持的运行时版本上运行应用。 只有在收到指示时,因最新版本出现问题,才将应用程序固定到特定版本。 函数可以正常运行后,始终立即更新到最新的运行时版本。
  • 在本地开发期间,已安装的 Azure Functions Core Tools 版本必须与 Azure 中的函数应用使用的主要运行时版本匹配。 有关详细信息,请参阅 Core Tools 版本

更新运行时版本

如果可能,请始终在最新支持的 Azure Functions 运行时版本上运行函数应用。 如果函数应用当前在较旧版本的运行时上运行,请将应用迁移到版本 4.x。

如果应用包含现有函数,则必须先采取预防措施,然后再迁移到更高的主要运行时版本。 以下文章详细介绍了主要版本之间的中断性变更,包括特定于语言的中断性变更。 它们还提供成功迁移现有函数应用的分步说明。

若要确定当前运行时版本,请参阅查看当前运行时版本

查看当前运行时版本

可以通过以下方法之一查看函数应用的当前运行时版本:

若要查看和更新函数应用当前使用的运行时版本,请执行以下步骤:

  1. Azure 门户中,浏览到你的函数应用。

  2. 展开 “设置”,然后选择“ 配置”。

  3. “函数运行时设置 ”选项卡中,记下 运行时版本。 在此示例中,版本设置为 ~4.

    显示如何查看运行时版本的屏幕截图。

锁定至特定版本

使用 Azure Functions,可以通过 FUNCTIONS_EXTENSION_VERSION 应用程序设置来指定给定函数应用使用的运行时版本。 如果仅指定主要版本(~4),则函数应用会在运行时可用时自动更新到新的次要版本。 次要版本更新是自动的,因为新的次要版本不太可能引入破坏函数的更改。

Linux 应用使用 linuxFxVersion 站点设置FUNCTIONS_EXTENSION_VERSION 来确定正确的 Linux 基础映像以运行函数。 在 Linux 上创建新的函数应用时,运行时会根据语言堆栈的运行时版本自动选择正确的基础映像。

锁定到特定运行时版本会重新启动您的函数应用。

当您在4.0.12345中指定特定次要版本(例如FUNCTIONS_EXTENSION_VERSION)时,您的函数应用会被锁定到该特定版本的运行时,直到您显式选择恢复到自动版本更新。 只有在特定次要版本上暂时固定,以便有足够时间解决阻止你面向主版本的任何函数应用问题。 会定期从生产环境中删除旧的次要版本。 当函数应用固定到一个之后被删除的次要版本上时,函数应用将在最接近的现有版本上运行,而不是在FUNCTIONS_EXTENSION_VERSION中设置的版本上。 应用服务公告将宣布 次要版本的移除。

注意事项

当尝试从 Visual Studio 发布到已固定到特定次要版本的运行时的应用时,会出现一个对话框,提示更新到最新版本或取消发布。 若要避免在必须使用特定次要版本时进行此检查,请在 <DisableFunctionExtensionVersionUpdate>true</DisableFunctionExtensionVersionUpdate> 文件中添加 .csproj 属性。

使用以下方法之一将应用暂时固定到特定版本的运行时:

若要查看和更新函数应用当前使用的运行时版本,请执行以下步骤:

  1. Azure 门户中,浏览到你的函数应用。

  2. 展开 “设置”,然后选择“ 配置”。

  3. “函数运行时设置 ”选项卡中,记下 运行时版本。 在此示例中,版本设置为 ~4.

    显示如何查看运行时版本的屏幕截图。

  1. 若要将应用固定到特定的次要版本,请在左窗格中展开“设置”,然后选择“环境变量”

  2. 在“应用设置”选项卡中,选择 FUNCTIONS_EXTENSION_VERSION,将“值”更改为所需的次要版本,然后选择“应用”

  3. 选择“应用”,然后选择“确认”,应用更改并重启应用。

在对应用程序设置进行更改后,函数应用将重启。

若要将函数应用固定到 Linux 上的特定运行时版本,请在站点设置中linuxFxVersion以格式DOCKER|<PINNED_VERSION_IMAGE_URI>设置特定于版本的基本映像 URL。

重要

Linux 上的固定函数应用不会收到常规安全更新和主机功能更新。 除非得到技术支持专业人员的建议,否则请使用 FUNCTIONS_EXTENSION_VERSION 设置以及语言和版本的标准 linuxFxVersion 值,例如 Python|3.12。 有关有效值,请参阅 linuxFxVersion 参考文章

在消耗计划中运行的 Linux 函数应用当前不支持固定到特定运行时。

以下示例显示了将 Node.js 16 函数应用固定到特定运行时版本 4.14.0.3 所需的 linuxFxVersion 值:

DOCKER|mcr.microsoft.com/azure-functions/node:4.14.0.3-node16

如果需要,支持专业人员可以为你提供应用程序的有效基础映像 URI。

使用以下 Azure CLI 命令查看和设置 linuxFxVersion。 当前无法在门户中或使用 Azure PowerShell 设置 linuxFxVersion

  • 若要查看当前的运行时版本,请使用 az functionapp config show 命令:

    az functionapp config show --name <function_app> \
    --resource-group <my_resource_group> --query 'linuxFxVersion' -o tsv
    

    在此代码中,用函数应用名称替代 <function_app>。 此外,还使用函数应用的资源组名称替代 <my_resource_group>。 返回当前值 linuxFxVersion

  • 若要更新函数应用中的 linuxFxVersion 设置,请使用 az functionapp config set 命令:

    az functionapp config set --name <FUNCTION_APP> \
    --resource-group <RESOURCE_GROUP> \
    --linux-fx-version <LINUX_FX_VERSION>
    

    <FUNCTION_APP> 替换为你的函数应用的名称。 此外,还使用函数应用的资源组名称替代 <RESOURCE_GROUP>。 最后,将 <LINUX_FX_VERSION> 替换为支持专业人员为你提供的特定图像的值。

可以在执行 az login 登录后使用 Azure CLI 在本地执行此命令。

在对站点配置进行更改后,函数应用会重启。

后续步骤