你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Azure Functions 中支持的语言
本文介绍使用 Azure Functions 时为首选语言提供的支持级别。 它还介绍了使用不受本机支持的语言创建函数时可使用的策略。
有两个级别的支持:
- 正式发布 (GA) - 完全支持并获得批准在生产中使用。
- 预览版 - 尚不支持,但将来应达到 GA 状态。
按运行时版本列出的语言
下表显示了 Azure Functions 支持的 .NET 版本。 在文章顶部选择首选开发语言。
支持的 .NET 版本取决于 Functions 运行时版本和所选的执行模型:
函数代码在单独的 .NET 工作进程中运行。 与受支持的 .NET 和 .NET Framework 版本结合使用。 若要了解详细信息,请参阅开发 .NET 独立工作进程函数。
支持的版本 | 支持级别 | 预期的社区生命周期结束 (EOL) 日期 |
---|---|---|
.NET 9 | 预览 | 查看策略 |
.NET 8 | GA | 2026 年 11 月 10 日 |
.NET 6 | GA | 2024 年 11 月 12 日 |
.NET Framework 4.8.1 | GA | 查看策略 |
.NET 7 以前在独立工作器模型上受支持,但已于 2024 年 5 月 14 日结束正式支持。
有关详细信息,请参阅有关在独立工作进程中运行 C# Azure Functions 的指南。
下表显示了 Java 函数支持的语言版本。 在文章顶部选择首选开发语言。
支持的版本 | 支持级别 | 预期的社区生命周期结束 (EOL) 日期 |
---|---|---|
Java 21(仅 Linux) | 预览 | 2028 年 9 月 |
Java 17 | GA | 2027 年 9 月 |
Java 11 | GA | 2027 年 9 月 |
Java 8 | GA | 2026 年 11 月 30 日 |
有关详细信息,请参阅 Azure Functions Java 开发人员指南。
下表显示了 Node.js 函数支持的语言版本。 在文章顶部选择首选开发语言。
支持的版本 | 支持级别 | 预期的社区生命周期结束 (EOL) 日期 |
---|---|---|
Node.js 22 | 预览 | 2027 年 4 月 30 日 |
Node.js 20 | GA | 2026 年 4 月 30 日 |
Node.js 18 | GA | 2025 年 4 月 30 日 |
TypeScript 通过转换为 JavaScript 来获得支持。 有关详细信息,请参阅 Azure Functions Node.js 开发人员指南。
下表显示了 PowerShell 函数支持的语言版本。 在文章顶部选择首选开发语言。
支持的版本 | 支持级别 | 预期的社区生命周期结束 (EOL) 日期 |
---|---|---|
PowerShell 7.4 | GA | 2026 年 11 月 10 日 |
PowerShell 7.2 | GA | 2024 年 11 月 8 日 |
有关详细信息,请参阅 Azure Functions PowerShell 开发人员指南。
下表显示了 Python 函数支持的语言版本。 在文章顶部选择首选开发语言。
支持的版本 | 支持级别 | 预期的社区生命周期结束 (EOL) 日期 |
---|---|---|
Python 3.11 | GA | 2027 年 10 月 |
Python 3.10 | GA | 2026 年 10 月 |
Python 3.9 | GA | 2025 年 10 月 |
Python 3.8 | GA | 2024 年 10 月 |
有关详细信息,请参阅 Azure Functions Python 开发人员指南。
有关语言支持计划更改的信息,请参阅 Azure 路线图。
语言支持详细信息
下表显示了可在 Linux 或 Windows 上运行的 Functions 支持的语言, 还说明了你的语言是否支持在 Azure 门户中进行编辑。 语言基于在 Azure 门户中创建函数应用时选择的“运行时堆栈”选项。 在 Azure Functions Core Tools 中使用 func init
命令时,此选项与 --worker-runtime
选项相同。
语言 | 运行时堆栈 | Linux | Windows | 门户内编辑 |
---|---|---|---|---|
C#(独立辅助角色模型) | .NET | ✓ | ✓ | |
C#(进程内模型) | .NET | ✓ | ✓ | |
C# 脚本 | .NET | ✓ | ✓ | ✓ |
JavaScript | Node.js | ✓ | ✓ | ✓ |
Python | Python | ✓ | X | ✓ |
Java | Java | ✓ | ✓ | |
PowerShell | PowerShell Core | ✓ | ✓ | ✓ |
TypeScript | Node.js | ✓ | ✓ | |
Go/Rust/other | 自定义处理程序 | ✓ | ✓ |
有关操作系统和语言支持的详细信息,请参阅操作系统/运行时支持。
当门户内编辑不可用时,必须在本地开发功能。
语言主版本支持
Azure Functions 为支持的编程语言的主版本提供了支持保证。 大多数语言都会发布次要版本或补丁版本来更新受支持的主版本。 例如,Python 3.9.1 和 Node 14.17 就是次要版本或补丁版本。 支持的语言的新次要版本发布后,函数应用使用的次要版本将自动升级到这些较新的次要版本或补丁版本。
注意
因为 Azure Functions 可以在新的次要版本发布后随时删除对旧次要版本的支持,所以不应将函数应用固定到编程语言的特定次要/补丁版本。
自定义处理程序
自定义处理程序是可以从 Azure Functions 主机接收事件的轻型 Web 服务器。 支持 HTTP 基元的任何语言都可以实现自定义处理程序。 这意味着可以使用自定义处理程序以不受官方支持的语言创建函数。 有关详细信息,请参阅 Azure Functions 自定义处理程序。
语言扩展性
从版本 2.x 开始,运行时旨在提供语言扩展性。 2\.x 运行时中的 JavaScript 和 Java 语言是使用此扩展性生成的。
ODBC 驱动程序支持
此表显示 Python 函数的 ODBC 驱动程序支持:
驱动程序版本 | Python 版本 |
---|---|
ODBC 驱动程序 18 | ≥ Python 3.11 |
ODBC 驱动程序 17 | ≤ Python 3.10 |