更新 Azure Functions 中的语言堆叠版本

在 Azure Functions 中,对语言堆栈的支持仅限于 特定版本。 随着新版本的推出,你可能希望更新函数应用以利用新功能。 Functions 中的支持也可以结束旧版本,并且通常与社区支持终止时间线保持一致。 有关详细信息,请参阅 语言运行时支持策略。 有关各种语言支持的版本,请参阅 运行时版本的语言

为了帮助确保函数应用继续获得支持,请按照本文中的说明将其更新到最新的可用版本。 更新函数应用的方式取决于以下几个因素:

  • 用于开发函数应用的语言。 请确保选择本文顶部的编程语言。
  • 函数应用在 Azure 中运行的作系统:Windows 或 Linux。
  • 托管计划

注意

本文介绍如何更新使用 独立辅助角色模型的函数应用的 .NET 版本。 如果函数应用在较旧版本的 .NET 上运行并使用 进程内模型,请考虑以下选项:

先决条件

  • 拥有有效订阅的 Azure 帐户。 免费创建一个
  • 托管在以下 Functions 计划之一中的函数应用:
    • 高级
    • 专属
    • 消耗

准备函数应用

在 Azure 中更新函数应用的堆栈配置之前,请完成以下部分中的任务。

在本地验证函数应用

在新的目标版本本地测试和验证函数应用代码。

使用以下步骤在本地计算机上更新项目:

  1. 确保 已安装 .NET SDK 的目标版本

    如果以预览版为目标,请参阅 预览版 .NET 版本的 Functions 指南 ,以确保支持该版本。 使用 .NET 预览版可能需要执行更多步骤。

  2. 更新对 最新版本的 Microsoft.Azure.Functions.WorkerMicrosoft.Azure.Functions.Worker.Sdk 的引用。

  3. 将项目的目标框架更新到新版本。 对于 C# 项目,必须更新 <TargetFramework>.csproj 文件中的元素。 有关版本的详细信息,请参阅 目标框架

    更改项目的目标框架还可能需要更改项目代码之外的工具链部分。 例如,在 Visual Studio Code 中,可能需要更新 azureFunctions.deploySubpath 用户设置或项目的 .vscode/settings.json 文件中的扩展设置。 在生成步骤或持续集成和持续交付(CI/CD)管道过程中,检查存在于项目代码外部的框架版本上是否存在任何依赖项。

  4. 对新 .NET 版本所需的项目代码进行任何更新。 查看版本的发行说明以了解特定信息。 还可以使用 .NET 升级助手 来帮助更新代码,以响应主要版本的更改。

进行这些更改后,请重新生成项目并对其进行测试,以确认函数应用按预期运行。

迁移至最新的 Functions 运行时

确保函数应用在最新版本的 Functions 运行时(版本 4.x)上运行。 可以在 Azure 门户中或使用 Azure CLI 来确定运行时版本。

使用以下步骤确定 Functions 运行时版本:

  1. Azure 门户中,找到并选择函数应用。 在侧菜单上,选择 “设置>配置”。

  2. 转到 “函数运行时设置 ”选项卡并检查 运行时版本 值。 函数应用应在 Functions 运行时版本 4.x 上运行(~4)。

如果需要将函数应用更新到版本 4.x,请参阅 将应用从 Azure Functions 版本 1.x 迁移到版本 4.x将应用从 Azure Functions 版本 3.x 迁移到版本 4.x。 请按照这些文章中的说明进行操作,而不仅仅是更改 FUNCTIONS_EXTENSION_VERSION 设置。

发布函数应用更新

如果更新了函数应用以在新版本上正确运行,请在更新函数应用的堆栈配置之前发布函数应用更新。

提示

为了简化更新过程,尽量减少函数应用的停机时间,并提供回滚的潜在版本,应将更新的函数应用发布到过渡槽。 有关详细信息,请参阅 Azure Functions 部署槽

将更新的函数应用发布到过渡槽时,请确保按照本文其余部分中特定于槽位的更新说明进行作。 稍后,将已更新的过渡槽交换到生产环境中。

更新堆栈配置

更新堆栈配置的方式取决于函数应用是在 Windows 上运行还是在 Azure 中的 Linux 上运行。

使用过渡槽时,请确保将更新定向到正确的槽。

按照以下步骤更新 Java 版本:

  1. Azure 门户找到函数应用,然后选择左侧的“配置”。 使用过渡槽时,请确保先选择特定槽。

  2. 在“常规设置”选项卡中,将“Java 版本”更新到所需版本

    如何在 Azure 门户中为函数应用设置所需 Java 版本的屏幕截图。

  3. 选择“保存”,当收到重启通知时,选择“继续”

使用以下步骤更新 .NET 版本:

  1. Azure 门户找到函数应用,然后选择左侧的“配置”。 使用过渡槽时,请确保先选择特定槽。

  2. 在“常规设置”选项卡中,将“.NET 版本”更新到所需版本

    有关如何在 Azure 门户中为函数应用设置所需 .NET 版本的屏幕截图。

  3. 选择“保存”,当收到重启通知时,选择“继续”

使用以下步骤更新 Node.js 版本:

  1. Azure 门户找到函数应用,然后选择左侧的“配置”。 使用过渡槽时,请确保先选择特定槽。

  2. 在“常规设置”选项卡中,将“Node.js 版本”更新到所需版本

    有关如何在 Azure 门户中为函数应用设置所需 Node.js 版本的屏幕截图。

  3. 选择“保存”,当收到重启通知时,选择“继续”。 此更改将更新 WEBSITE_NODE_DEFAULT_VERSION 应用程序设置。

使用以下步骤更新 PowerShell 版本:

  1. Azure 门户找到函数应用,然后选择左侧的“配置”。 使用过渡槽时,请确保先选择特定槽。

  2. 在“常规设置”选项卡中,将“.NET 版本”更新到所需版本

    有关如何在 Azure 门户中为函数应用设置所需 PowerShell 版本的屏幕截图。

  3. 选择“保存”,当收到重启通知时,选择“继续”

Windows 不支持 Python 应用。 请改为选择“Linux”选项卡

Windows 不支持 Python 应用。 请改为转到 “Linux ”选项卡。

更新版本后,函数应用将重启。

交换槽

如果使用过渡槽来部署代码项目并更新设置,请将过渡槽交换到生产中。 有关详细信息,请参阅交换槽