Azure Functions 中支持的语言

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

支持级别

有两个级别的支持:

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

按运行时版本列出的语言

几个版本的 Azure Functions 运行时都可用。 下表显示每个运行时版本支持的语言。

语言 1.x 2.x 3.x 4.x
C# GA (.NET Framework 4.8) GA (.NET Core 2.11) GA (.NET Core 3.1)
GA (.NET 5.0)
GA (.NET 6.0)
JavaScript GA (Node.js 6) GA(Node.js 10 和 8) GA(Node.js 14、12 和 10) GA (Node.js 14)
GA (Node.js 16)
F# GA (.NET Framework 4.8) GA (.NET Core 2.11) GA (.NET Core 3.1) GA (.NET 6.0)
Java 空值 GA (Java 8) GA(Java 11 和 8) GA(Java 11 和 8)
PowerShell 空值 GA (PowerShell Core 6) GA(PowerShell 7.0 和 Core 6) GA (PowerShell 7.0)
预览版 (PowerShell 7.2)
Python 不适用 GA(Python 3.7 和 3.6) GA(Python 3.9、3.8、3.7 和 3.6) GA(Python 3.9、3.8、3.7)
TypeScript2 不可用 GA GA GA

1 可以在 .NET Core 2.x 兼容模式下在 .NET Core 3.1 上运行面向运行时版本 2.x 的 .NET 类库应用。 有关详细信息,请参阅 Functions v2.x 注意事项
2 转译为 JavaScript 后支持。

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

语言支持详细信息

下表显示了可在 Linux 或 Windows 上运行的 Functions 支持的语言, 还说明了你的语言是否支持在 Azure 门户中进行编辑。 语言基于在 Azure 门户中创建函数应用时选择的“运行时堆栈”选项。 在 Azure Functions Core Tools 中使用 func init 命令时,此选项与 --worker-runtime 选项相同。

语言 运行时堆栈 Linux Windows 门户内编辑1
C# 类库2 .NET
C# 脚本 .NET
JavaScript Node.js
Python Python
Java Java
PowerShell PowerShell Core
TypeScript Node.js
Go/Rust/other 自定义处理程序

1 在 Linux 上运行时,仅在专用(应用服务)计划中支持门户内编辑。
2 在门户中,当前无法创建在 .NET 5.0 上运行的函数应用。 要了解详细信息,请参阅使用 Azure Functions 开发和发布 .NET 5 函数

有关更多详细信息,请参阅操作系统/运行时支持

当门户内编辑不可用时,必须在本地开发功能

语言主版本支持

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

注意

因为 Azure Functions 可以在新的次要版本发布后随时删除对旧次要版本的支持,所以不应将函数应用固定到编程语言的特定次要/补丁版本。

自定义处理程序

自定义处理程序是可以从 Azure Functions 主机接收事件的轻型 Web 服务器。 支持 HTTP 基元的任何语言都可以实现自定义处理程序。 这意味着可以使用自定义处理程序以不受官方支持的语言创建函数。 有关详细信息,请参阅 Azure Functions 自定义处理程序

语言扩展性

从版本 2.x 开始,运行时旨在提供语言扩展性。 2\.x 运行时中的 JavaScript 和 Java 语言是使用此扩展性生成的。

后续步骤

若要详细了解如何使用支持的语言开发函数,请参阅以下资源: