你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
本文介绍在使用Azure Functions时为首选语言提供的支持级别。 还介绍了在使用本机不支持的语言时创建函数应用的策略。
有两个级别的支持:
- 正式发布 (GA) - 完全支持并获得批准在生产中使用。
- 预览版 - 尚不受支持,但预计将来会达到正式发布状态。
按运行时版本列出的语言
请确保选择 文章顶部的首选开发语言。
下表显示了 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 框架 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 | GA | 2028 年 4 月 30 日 |
| Node.js 22 | GA | 2027 年 4 月 30 日 |
TypeScript 转译为 JavaScript 后受支持。 有关详细信息,请参阅 Azure Functions Node.js 开发人员指南。
注意
Node.js 22 是 Linux 消耗计划应用支持的最后 Node.js 版本。 较新的 Node.js 版本不支持 Linux Consumption。 有关详细信息,请参阅 将消费计划应用迁移到弹性消费计划。
下表显示了 PowerShell 函数应用支持的语言版本:
| 支持的版本 | 支持级别 | 预计终止支持日期 |
|---|---|---|
| PowerShell 7.6 | GA | 2028年11月14日 |
| PowerShell 7.4 | GA | 2026 年 11 月 10 日 |
PowerShell 7.6 支持所有 Azure Functions 托管计划,除 Linux Consumption 外,包括 Windows 和 Linux 的高级和专用、Windows Consumption 以及 Flex Consumption。
重要说明
在将Linux消耗计划应用从PowerShell 7.4升级到PowerShell 7.6之前,必须先 将应用迁移到Flex消耗计划。 PowerShell 7.4 是 Linux 消费计划中支持的最后一个版本。
有关详细信息,请参阅 Azure Functions PowerShell 开发人员指南。
下表显示了Python函数应用支持的语言版本:
| 支持的版本 | 支持级别 | 预计终止支持日期 |
|---|---|---|
| Python 3.14 | GA | 2029 年 4 月 |
| Python 3.13 | GA | 2029 年 10 月 |
| Python 3.12 | GA | 2028 年 10 月 |
| Python 3.11 | GA | 2027 年 10 月 |
| Python 3.10 | GA | 2026 年 10 月 |
注意
Python 3.12 是 Linux 消耗计划应用支持的最后Python版本。 较新的 Python 版本不会添加到 Linux 消费计划中。 有关详细信息,请参阅 将消费计划应用迁移到弹性消费计划。
有关详细信息,请参阅 Azure Functions Python 开发人员指南。
下表显示了 Azure Functions 支持的 Go 版本:
| 支持的版本 | 支持级别 | 预计终止支持日期 |
|---|---|---|
| Go 1.24 或更高版本 | Preview | 待定1 |
1 Go 支持的终止日期会在宣布正式发布 (GA) 时确定。
注意
Go 支持目前仅适用于托管在 Flex 消耗计划中的函数应用。
有关详细信息,请参阅 Azure Functions Go 开发人员参考。
有关语言支持计划内更改的信息,请参阅 Azure 路线图更新。
受影响的现有应用的托管Linux镜像
现有的功能应用会保留他们所选的托管Linux镜像,直到你更改应用配置。 如果现有的 Python 3.11 或 Java 8、11 或 17 应用在 Elastic Premium 或专用(应用服务)套餐中使用 Debian Bullseye,请使用以下数值选择更新的 Linux 发行版,同时保持相同语言版本:
| 语言版本 | Debian Bullseye 值 | 较新的发行版 | 更新的图像值 |
|---|---|---|---|
| Python 3.11 | Python\|3.11\|2.0 |
Debian Bookworm | Python\|3.11\|3.0 |
| Java 8 | Java\|8\|2.0 |
Ubuntu Noble | Java\|8\|4.0 |
| Java 11 | Java\|11\|2.0 |
Ubuntu Noble | Java\|11\|4.0 |
| Java 17 | Java\|17\|2.0 |
Ubuntu Noble | Java\|17\|4.0 |
关于测试和更改托管镜像的说明,请参见 更新受管的Linux镜像。 对于 Linux Consumption 计划上的应用,请迁移到 Flex Consumption 计划。
语言支持详细信息
下表显示了 Functions 支持的语言可以在 Linux 或Windows上运行。 它还指示是否支持在Azure门户中编辑每种语言。 该语言基于您在 Azure 门户中创建函数应用时选择的Runtime stack选项。 此值与在 Azure Functions Core Tools 中使用 --worker-runtime 命令时指定的 func init 选项相同。
| 语言 | 运行时堆栈 | Linux | Windows | 门户内编辑1 |
|---|---|---|---|---|
| C#(独立辅助角色模型) | .NET | ✓ | ✓ | |
| C# (进程内模型) | .NET | ✓ | ✓ | 2 |
| JavaScript | Node.js | ✓ | ✓ | ✓ |
| Python | Python | ✓ | X | √ 1 |
| Java | Java | ✓ | ✓ | |
| PowerShell | PowerShell 核心 | ✓ | ✓ | ✓ |
| TypeScript | Node.js | ✓ | ✓ | |
| Go (预览版) | Go | ✓ | ||
| Rust/其他 | 自定义处理程序 | ✓ | ✓ |
- 在 Flex Consumption 计划中运行时,目前不支持门户内编辑。 当无法在门户内编辑时,需要转变为在本地开发函数应用。
- 尽管我们建议对 C# 应用进行本地开发,但可以使用门户开发和测试使用进程内模型的 C# 脚本函数。 有关详细信息,请参阅创建 C# 脚本应用。
- 仅当在消耗层级中运行时,才支持在门户中编辑 Python 代码。
重要说明
在 Linux 消费计划中运行且仍在使用已停用的 v3 运行时的函数应用,将于 2026 年 9 月 30 日后停止运行。 为了避免服务中断, 请将应用迁移到 v4 运行时。
在消耗计划中托管 Linux 上的函数应用的选项将于 2028 年 9 月 30 日停用。 Linux 消费计划未获取任何新功能或 语言版本。 消耗计划中Windows上运行的应用当前不受影响。 在停用日期之前,将应用迁移到 Flex Consumption 计划。
有关作系统和语言支持的详细信息,请参阅 作系统支持。
有关如何在 Azure 中运行函数应用时保持完全支持覆盖的详细信息,请参阅 Azure Functions 语言堆栈支持策略。
语言主版本支持
Functions 为支持的编程语言的主版本提供了支持保证。 大多数语言都会发布次要版本或补丁版本来更新受支持的主版本。 次要版本或修补程序版本的示例包括Python 3.9.1 和 Node 14.17。 支持的语言的新次要版本发布后,函数应用使用的次要版本将自动升级到这些较新的次要版本或补丁版本。
注意
在新的次要版本可用后,Functions 可能会取消对较旧次要版本的支持。 因此,不应将函数应用固定到编程语言的特定次要版本或补丁版本。
自定义处理程序
自定义处理程序是可以从 Functions 主机接收事件的轻型 Web 服务器。 可以使用支持 HTTP 基元的任何语言实现自定义处理程序。 因此,可以借助自定义处理程序,使用非官方支持的编程语言创建函数应用。 有关详细信息,请参阅Azure Functions自定义处理程序。
语言扩展性
Functions 运行时旨在提供 语言扩展性。 JavaScript、Java 和 Python 语言是使用此扩展性生成的。
ODBC 驱动程序支持
下表列出了 Open Database Connectivity (ODBC) 驱动程序版本为 Python 函数应用提供的支持:
| 驱动程序版本 | Python 版本 |
|---|---|
| ODBC 驱动程序 18 | ≥ Python 3.11 |
| ODBC 驱动程序 17 | ≤ Python 3.10 |