你当前正在访问 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 Framework 4.8.1 | GA | 请参阅 .NET Framework 支持策略。 |
1 .NET 9 以前预计于 2026 年 5 月 12 日终止支持日期。 在 .NET 9 服务窗口中,.NET 团队从 .NET 9 开始,将 STS 版本的支持扩展到 24 个月。 有关详细信息,请参阅 博客文章。
.NET 6 以前在独立工作模型上受支持,但已在 2024 年 11 月 12 日结束官方支持。
.NET 7 以前受独立工作模型支持,但已于 2024 年 5 月 14 日结束正式支持。
有关详细信息,请参阅 独立辅助角色模型中运行 C# Azure Functions 的指南。
下表显示了 Java 函数应用支持的语言版本:
| 支持的版本 | 支持级别 | 支持截止至 |
|---|---|---|
| Java 25 | Preview | 待定* |
| Java 21 | GA | 请参阅发布和服务路线图。 |
| Java 17 | GA | 请参阅发布和服务路线图。 |
| Java 11 | GA | 请参阅发布和服务路线图。 |
| Java 8 | GA | 请参阅 Temurin 支持页。 |
*Java 25 的支持结束日期在宣布正式发布时确定。
若要详细了解如何开发和运行 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 开发人员指南。
下表显示了 PowerShell 函数应用支持的语言版本:
| 支持的版本 | 支持级别 | 预计终止支持日期 |
|---|---|---|
| PowerShell 7.4 | GA | 2026 年 11 月 10 日 |
有关详细信息,请参阅 Azure Functions PowerShell 开发人员指南。
下表显示了 Python 函数应用支持的语言版本:
| 支持的版本 | 支持级别 | 预计终止支持日期 |
|---|---|---|
| Python 3.13 | GA | 2029 年 10 月 |
| Python 3.12 | GA | 2028 年 10 月 |
| Python 3.11 | GA | 2027 年 10 月 |
| Python 3.10 | GA | 2026 年 10 月 |
有关详细信息,请参阅 Azure Functions Python 开发人员指南。
有关语言支持计划内更改的信息,请参阅 Azure 路线图更新。
语言支持详细信息
下表显示了 Functions 支持的哪些语言可在 Linux 或 Windows 上运行。 同时指明了是否支持在 Azure 门户中编辑每种语言。 语言基于在 Azure 门户中创建函数应用时选择的“运行时堆栈”选项。 此值与在 Azure Functions Core Tools 中使用 --worker-runtime 命令时指定的 func init 选项相同。
| 语言 | 运行时堆栈 | Linux | Windows操作系统 | 门户内编辑 |
|---|---|---|---|---|
| C#(独立辅助角色模型) | .NET | ✓ | ✓ | |
| C# (进程内模型) | .NET | ✓ | ✓ | * |
| JavaScript | Node.js | ✓ | ✓ | ✓ |
| Python | Python | ✓ | X | ✓ |
| 爪哇岛 | Java | ✓ | ✓ | |
| PowerShell | PowerShell Core | ✓ | ✓ | ✓ |
| TypeScript | Node.js | ✓ | ✓ | |
| Go/Rust/其他 | 自定义处理程序 | ✓ | ✓ |
*尽管我们建议本地开发 C# 应用,但可以使用门户来开发和测试使用进程内模型的 C# 脚本函数。 有关详细信息,请参阅创建 C# 脚本应用。
有关作系统和语言支持的详细信息,请参阅 作系统支持。
当无法在门户内编辑时,需要转变为在本地开发函数应用。
有关在 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 |