你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

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

对 Azure Functions 中任何给定语言堆栈的支持仅限于特定版本。 随着新版本的推出,你可能希望更新应用以利用其功能。 在旧版本中,Functions 中的支持也可能结束,结束时间通常与社区支持终止时间线保持一致。 有关详细信息,请参阅语言运行时支持策略。 若要确保应用继续获得支持,应按照本文中概述的说明将其更新到最新的可用版本。

更新函数应用的方式取决于:

  • 用于创作函数的语言;请确保在文章顶部选择编程语言。
  • 在哪种操作系统上的 Azure 中运行应用:Windows 或 Linux。
  • 托管计划

本文介绍如何使用独立辅助角色模型更新 .NET 版本的应用。 在进程内模型上运行的应用在未切换到独立辅助角色模型的情况下,尚不能更新为 .NET 8。 若要迁移到独立辅助角色模型,请参阅将 .NET 应用从进程内模型迁移到独立辅助角色模型。 有关 .NET 8 计划的信息,包括进程内模型的未来选项,请参阅 Azure Functions 路线图更新文章

准备更新

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

1. 在本地验证函数

请确保在新的目标版本本地测试和验证函数代码。

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

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

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

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

  4. 对新 .NET 版本所需的项目代码进行所有更新。 查看版本的发行说明以获取详情。 还可以使用 .NET 升级助手来帮助你更新代码,以响应主要版本的更改。

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

2. 移动到最新的 Functions 运行时

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

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

  1. Azure 门户中,找到函数应用,然后选择左侧“设置”下的“配置”。

  2. 选择“函数运行时设置”选项卡,检查运行时版本值以查看函数应用是否在 4.x 版的 Functions 运行时 (~4) 上运行。

    Screenshot of how to view the Functions runtime version for your app in the Azure portal.

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

发布应用更新

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

提示

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

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

更新堆栈配置

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

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

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

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

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

    Screenshot of how to set the desired Java version for a function app in the Azure portal.

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

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

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

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

    Screenshot of how to set the desired .NET version for a function app in the Azure portal.

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

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

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

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

    Screenshot of how to set the desired Node.js version for a function app in the Azure portal.

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

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

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

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

    Screenshot of how to set the desired PowerShell version for a function app in the Azure portal.

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

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

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

交换槽

如果已在过渡槽中执行代码项目部署和更新设置,则最终需要将过渡槽交换到生产槽。 有关详细信息,请参阅交换槽

后续步骤