你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Azure Functions当前支持两个版本的运行时主机。 下表详细介绍了当前支持的运行时版本、其支持级别以及何时使用它们:
| 版本 | 支持级别 | 说明 |
|---|---|---|
| 4.x | GA | 建议所有语言的 Functions 使用的运行时版本。请查看支持的语言版本。 |
| 1.x | GA* | 仅支持必须使用 .NET Framework 的 C# 应用。 此版本处于维护模式,仅在更高版本中提供增强功能。 版本 1.x 的支持将于 2026 年 9 月 14 日结束。请将您的应用迁移到版本 4.x。 有关详细信息,请参阅 支持的语言版本。 |
* 支持于 2026 年 9 月 14 日结束。 有关详细信息,请参阅 版本 1.x 支持公告。
Azure Functions当前仅支持运行时主机版本 4.x。
重要说明
不再支持 Azure Functions 运行时版本 2.x 和 3.x。 有关详细信息,请参阅停用的版本。
重要说明
在 Linux 消费计划中运行且仍在使用已停用的 v3 运行时的函数应用,将于 2026 年 9 月 30 日后停止运行。 为了避免服务中断, 请将应用迁移到 v4 运行时。
在消耗计划中托管 Linux 上的函数应用的选项将于 2028 年 9 月 30 日停用。 Linux 消费计划未获取任何新功能或 语言版本。 消耗计划中Windows上运行的应用当前不受影响。 在停用日期之前,将应用迁移到 Flex Consumption 计划。
将应用从 Azure Functions 版本 3.x 迁移到版本 4.x。
支持级别
有两个级别的支持:
- 正式发布 (GA) - 完全支持并获得批准在生产中使用。
- 预览版 - 尚不受支持,但预计将来会达到正式发布状态。
语言
函数应用中的所有函数必须使用相同的语言。 创建应用时,请选择函数应用中的函数语言。 函数应用的语言是在 FUNCTIONS_WORKER_RUNTIME 设置中维护的,并且在存在现有函数的情况下无法更改。
请确保选择 文章顶部的首选开发语言。
下表显示了 Azure Functions 支持的.NET版本。
支持的 .NET版本取决于 Functions 运行时版本和所选的执行模型。
函数应用代码在单独的.NET工作进程中运行。 与 .NET 和 .NET Framework 受支持的版本一起使用。 有关详细信息,请参阅 在隔离工作器模型中运行 C# Azure Functions 的指南。
| 支持的版本 | 支持级别 | 预计终止支持日期 |
|---|---|---|
| .NET 10 | GA | 2028 年 11 月 14 日 |
| .NET 9 | GA | 2026 年 11 月 10 日 1 |
| .NET 8 | GA | 2026 年 11 月 10 日 |
| .NET Framework 4.8.1 | GA | 请参阅 .NET 框架支持策略 |
1 .NET 9 以前预计于 2026 年 5 月 12 日终止支持日期。 在.NET 9 服务时段,.NET团队将 STS 版本的支持扩展到 24 个月,从 .NET 9 开始。 有关详细信息,请参阅 博客文章。
注释
.NET 9 是 Linux 消耗计划应用支持的最后.NET版本。 较新的 .NET 版本不会添加到 Linux 消费计划中。 有关详细信息,请参阅 将消费计划应用迁移到弹性消费计划。
.NET 6于2024年11月12日结束正式支持。
.NET 7 在2024年5月14日到达了官方支持的终点。
有关详细信息,请参阅 在隔离工作器模型中运行 C# Azure Functions 的指南。
下表显示了Java函数应用支持的语言版本:
| 支持的版本 | 支持级别 | 支持截止至 |
|---|---|---|
| Java 25 | GA | 2029 年 5 月 |
| Java 21 | GA | 2028 年 9 月 |
| Java 17 | GA | 2027 年 9 月 |
| Java 11 | GA | 2027 年 9 月 |
| Java 8 | GA | 2027 年 9 月 |
注释
Java 21 是 Linux 消耗计划应用支持的最后Java版本。 较新的 Java 版本不会添加到 Linux 消费计划中。 有关详细信息,请参阅 将消费计划应用迁移到弹性消费计划。
有关开发和运行Java函数应用的详细信息,请参阅 Azure Functions Java 开发人员指南。
下表显示了 Node.js 函数应用支持的语言版本:
| 支持的版本 | 支持级别 | 预计终止支持日期 |
|---|---|---|
| Node.js 24 | Preview | 2028 年 4 月 30 日 |
| Node.js 22 | GA | 2027 年 4 月 30 日 |
| Node.js 20 | GA | 2026 年 4 月 30 日 |
TypeScript 转译为 JavaScript 后受支持。 有关详细信息,请参阅 Azure Functions Node.js 开发人员指南。
注释
Node.js 22 是 Linux 消耗计划应用支持的最后 Node.js 版本。 较新的 Node.js 版本不会添加到 Linux 消耗计划中。 有关详细信息,请参阅 将消费计划应用迁移到弹性消费计划。
下表显示了 PowerShell 函数应用支持的语言版本:
| 支持的版本 | 支持级别 | 预计终止支持日期 |
|---|---|---|
| PowerShell 7.4 | GA | 2026 年 11 月 10 日 |
注释
PowerShell 7.4 是 Linux 消耗计划应用支持的最后一个 PowerShell 版本。 较新的 PowerShell 版本不会集成到 Linux 使用中。 有关详细信息,请参阅 将消费计划应用迁移到弹性消费计划。
有关详细信息,请参阅 Azure Functions PowerShell 开发人员指南。
下表显示了Python函数应用支持的语言版本:
| 支持的版本 | 支持级别 | 预计终止支持日期 |
|---|---|---|
| Python 3.142 | Preview | 待定1 |
| Python 3.13 | GA | 2029 年 10 月 |
| Python 3.12 | GA | 2028 年 10 月 |
| Python 3.11 | GA | 2027 年 10 月 |
| Python 3.10 | GA | 2026 年 10 月 |
1 Python 3.14 的终止支持日期在宣布正式发布时确定。 2 在 Flex 消耗计划中运行时,对 Python 3.14 的远程构建支持尚不可用。
注释
Python 3.12 是 Linux 消耗计划应用支持的最后Python版本。 较新的 Python 版本未添加到 Linux 消耗计划。 有关详细信息,请参阅 将消费计划应用迁移到弹性消费计划。
有关详细信息,请参阅 Azure Functions Python 开发人员指南。
有关语言支持计划内更改的信息,请参阅 Azure 路线图更新。
有关以前支持的 Functions 运行时版本的语言版本的信息,请参阅 已停用的运行时版本。
在特定版本上运行
FUNCTIONS_EXTENSION_VERSION 应用程序设置决定了在 Azure 中发布的应用程序所使用的 Functions 运行时环境的版本。 在某些情况下,对于某些语言,其他设置可能适用。
默认情况下,Azure 门户中、Azure CLI或从Visual Studio工具创建的函数应用设置为版本 4.x。 可以根据需要修改此版本。 只能在创建函数应用之后、添加任何函数之前将运行时版本降级为 1.x。 即使应用包含现有函数,也可以更新到更高的主要版本。
迁移现有函数应用
如果应用包含现有函数,则必须先采取预防措施,然后再迁移到更高的主要运行时版本。 以下文章详细介绍了主要版本之间的中断性变更,包括特定于语言的中断性变更。 它们还提供了成功迁移现有函数应用的分步说明。
更改Azure中的应用版本
使用了以下主要运行时版本值:
| 值 | 运行时目标 |
|---|---|
~4 |
4.x |
~1 |
1.x |
重要说明
请不要随意更改此应用设置(因为这可能需要更改其他应用设置以及函数代码)。 对于现有函数应用,请按照迁移说明进行操作。
固定到特定的次要版本
若要解决函数应用在最新的主版本上运行时可能遇到的问题,必须暂时将应用固定到特定的次要版本。 这种固定可让你有时间在最新的主版本上正确运行应用。 对于 Windows 和 Linux,固定到次要版本的方式有所不同。 若要了解详细信息,请参阅 如何以Azure Functions运行时版本为目标。
系统会定期从 Functions 中删除旧的次要版本。 有关 Azure Functions 版本的最新消息,包括删除较旧的特定次要版本,请关注 Azure 应用服务公告。
最低扩展版本
从技术上讲,绑定扩展版本与 Functions 运行时版本之间没有关联。 但是,从版本 4.x 开始,Functions 运行时对所有触发器和绑定扩展强制实施最低版本。
如果收到有关包不符合最低版本要求的警告,则应像平常一样将该 NuGet 包更新到最低版本。 在链接的配置文件中查找 Functions v4.x 使用的扩展的最低版本要求。
对于 C# 脚本,请更新 host.json中的扩展捆绑包引用:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.0.0, 5.0.0)"
}
}
从技术上讲,扩展捆绑包版本与 Functions 运行时版本之间没有关联。 但是,从版本 4.x 开始,Functions 运行时对扩展捆绑包强制实施最低版本。
如果收到有关扩展捆绑包版本不符合最低版本要求的警告,请更新 host.json 中的现有扩展捆绑包引用,如下所示:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.0.0, 5.0.0)"
}
}
若要了解有关扩展捆绑包的详细信息,请参阅扩展捆绑包。
已停用的版本
重要说明
Azure Functions 运行时版本 1.x 的支持将于 2026 年 9 月 14 日结束。 强烈建议 将应用迁移到版本 4.x ,以获取完全支持。
这些版本的 Functions 运行时已于 2022 年 12 月 13 日终止扩展支持。
| 版本 | 当前支持级别 | 之前的支持级别 |
|---|---|---|
| 3.x | 停止支持 | GA |
| 2.x | 停止支持 | GA |
尽快将应用迁移到版本 4.x,以获得完全支持。 有关一整套语言特定的迁移说明,请参阅 将应用迁移到 Azure Functions 版本 4.x。
使用版本 2.x 和 3.x 的应用仍可以从 CI/CD DevOps 管道创建和部署,现有应用将继续运行,而不会发生中断性变更,Linux 消耗版上的 v3 应用 除外,该应用将在 2026 年 9 月 30 日之后停止运行。 你的应用不符合新功能、安全修补程序和性能优化的条件。 只有在将应用升级到 4.x 版本后,才能获得相关服务支持。
本地开发的应用程序版本
对函数应用进行以下更新,以本地更改目标版本。
Visual Studio运行时版本
在Visual Studio中,在创建项目时选择运行时版本。 Visual Studio的Azure Functions工具支持两个主要运行时版本。 基于项目设置进行调试和发布时,将使用正确的版本。 版本设置在 .csproj 文件中的以下属性内定义:
<TargetFramework>net8.0</TargetFramework>
<AzureFunctionsVersion>v4</AzureFunctionsVersion>
如果使用独立工作模型,则可以选择 net9.0、net8.0 或 net48 作为目标框架。 还可以选择对 使用net10.0。 如果使用内处理模型,可以选择net8.0 或net6.0,并且必须包含设置至少为Microsoft.NET.Sdk.Functions的4.4.0扩展。 进程内模型不支持 .NET 10;如果你正在使用进程内模型,并希望使用 .NET 10,请将应用迁移到独立工作器模型。
.NET 6 以前受独立工作模型和进程内模型受支持,但已在 2024 年 11 月 12 日结束官方支持。
.NET 7 以前在独立工作模型上受支持,但已于 2024 年 5 月 14 日结束正式支持。
Visual Studio Code 和 Azure Functions Core Tools
Azure Functions Core Tools用于命令行开发,也是Visual Studio Code 的 Azure Functions 扩展所使用的工具。 有关详细信息,请参阅 安装 Azure Functions Core Tools。
对于Visual Studio Code开发,可能还需要更新 azureFunctions.projectRuntime的用户设置,以匹配已安装的工具版本。 此设置还会更新创建函数应用期间使用的模板和语言。