Azure Functions 中支援的語言
本文說明使用 Azure Functions 時,您慣用語言所提供的支持層級。 它也會說明使用不支援原生語言建立函式的策略。
支援有兩種等級:
- 正式推出 (GA) - 完整支援且已核准用於生產環境。
- 預覽 - 尚未支援,但預期未來會進入 GA 狀態。
依運行時間版本的語言
下表顯示 Azure Functions 支援的 .NET 版本。 在文章頂端選取您慣用的開發語言。
支援的 .NET 版本取決於 Functions 執行階段版本和您選擇的執行模型:
您的函數程式碼在個別的 .NET 背景工作處理序中執行。 搭配支援的 .NET 和 .NET Framework 版本使用。 若要深入了解,請參閱開發 .NET 隔離式背景工作處理序函數。
支援的版本 | 支援層級 | 預期的社群 EOL 日期 |
---|---|---|
.NET 8 | GA | 2026 年 11 月 10 日 |
.NET 7 | GA | 2024 年 5 月 14 日 |
.NET 6 | GA | 2024 年 11 月 12 日 |
.NET Framework 4.8 | GA | 請參閱原則 |
如需詳細資訊,請參閱在隔離式背景工作處理序中執行 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 20 | GA | 2026 年 4 月 30 日 |
Node.js 18 | GA | 2025年4月30日 |
Node.js 16 | GA | 2023 年 9 月 11 日* |
Node.js 14 | GA | 2023 年 4 月 30 日* |
*函式的支援延伸至 2024 年 6 月 30 日。
透過轉譯成 JavaScript 而支援 TypeScript。 如需詳細資訊,請參閱 Azure Functions Node.js 開發人員指南。
下表顯示 PowerShell 函式支援的語言版本。 在文章頂端選取您慣用的開發語言。
支援的版本 | 支援層級 | 預期的社群 EOL 日期 |
---|---|---|
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 藍圖。
語言支援詳細數據
下表顯示 Functions 支援哪些語言可以在 Linux 或 Windows 上執行。 它也會指出您的語言是否支援在 Azure 入口網站 中編輯。 語言是以您在 Azure 入口網站 中建立函式應用程式時所選擇的運行時間堆疊選項為基礎。 這與 --worker-runtime
在 Azure Functions Core Tools 中使用 func init
命令時的選項相同。
語言 | 執行階段堆疊 | 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 可以在新的次要版本可用後隨時移除舊版次要版本的支援,因此您不應該將函式應用程式釘選到程式設計語言的特定次要/修補程式版本。
自訂處理常式
自定義處理程式是輕量型 Web 伺服器,可從 Azure Functions 主機接收事件。 任何支援 HTTP 基元的語言都可以實作自訂處理常式。 這表示自定義處理程式可用來以未正式支持的語言建立函式。 若要深入瞭解,請參閱 Azure Functions 自定義處理程式。
語言擴充性
從 2.x 版開始,運行時間是設計來提供 語言擴充性。 2.x 運行時間中的 JavaScript 和 Java 語言是使用此擴充性所建置。