Azure Functions 中支持的语言

选择编程语言

本文介绍使用 Azure Functions 时为首选语言提供的支持级别。 它还介绍了在使用本机不支持的语言时创建函数应用的策略。

支持级别

有两个级别的支持:

  • 正式发布 (GA) - 完全支持并获得批准在生产中使用。
  • 预览版 - 尚不受支持,但预计将来会达到正式发布状态。

按运行时版本列出的语言

语言 1.x 2.x1 3.x1 4.x
C# GA (.NET Framework 4.8) GA (.NET Core 2.1) GA (.NET Core 3.1)
GA (.NET 6.0)
GA (.NET 7.0)
GA (.NET Framework 4.8)
JavaScript GA(Node.js 6) GA(Node.js 10 和 8) GA(Node.js 14、12 和 10) GA(Node.js 18、16 和 14)
F# GA (.NET Framework 4.8) GA (.NET Core 2.11 GA (.NET Core 3.1) GA (.NET 6.0)
GA(.NET 7.0)
爪哇岛 空值 GA(Java 8) GA(Java 11 和 8) GA(Java 11 和 8)
正式版 (Java 17)
PowerShell 空值 空值 空值 GA(PowerShell 7.2)
Python 空值 GA (Python 3.7) GA(Python 3.9、3.8、3.7) GA (Python 3.10、3.9、3.8、3.7)
TypeScript2 空值 GA GA GA

1 于 2022 年 12 月 13 日结束生命(EOL)。 强烈建议将 应用迁移到版本 4.x ,以获取完全支持。
2 支持通过转译到 JavaScript 实现。

若要更详细地了解受支持的语言版本,请参阅语言特定的开发人员指南文章。
有关语言支持计划内更改的信息,请参阅 Azure 路线图

语言支持详细信息

下表显示了可在 Linux 或 Windows 上运行的 Functions 支持的语言, 它还指示是否支持在 Azure 门户中编辑每种语言。 该语言基于在 Azure 门户中创建函数应用时选择的运行时堆栈选项。 此值与 --worker-runtime 在 Azure Functions Core Tools 中使用 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 语言堆栈支持策略

语言主版本支持

函数为支持的主要编程语言版本提供支持保证。 大多数语言都会发布次要版本或补丁版本来更新受支持的主版本。 次要版本或修补程序版本的示例包括 Python 3.9.1 和 Node 14.17。 新的受支持语言次要版本可用后,函数应用使用的次要版本会自动升级到这些较新的次要版本或修补程序版本。

备注

在新的次要版本可用后,函数可以删除对较旧次要版本的支持。 因此,不应将函数应用固定到编程语言的特定次要版本或修补程序版本。

自定义处理程序

自定义处理程序是从 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

后续步骤