本文會說明在使用 Azure Functions 時,針對您的慣用語言所提供的支援層級。 它也會說明在您使用非原生支援的語言時建立函式應用程式的策略。
支援有兩種等級:
- 正式推出 (GA) - 完整支援且已核准用於生產環境。
- 預覽 - 尚未支援,但預計未來會達到 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 日 |
| .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 | 擱置* |
| 爪哇21 | GA | 請參閱發行與服務藍圖。 |
| JAVA 17 | GA | 請參閱發行與服務藍圖。 |
| Java 11 | GA | 請參閱發行與服務藍圖。 |
| Java 8 | GA | 請參閱 Temurin 支援頁面。 |
*Java 25 的支援終止日期是在宣布正式可用性(GA)時決定的。
如需開發和執行 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 日 |
透過轉譯至 JavaScript 支援 TypeScript。 如需詳細資訊,請參閱 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 | 窗戶 | 入口網站內編輯 |
|---|---|---|---|---|
| C# (隔離式背景工作角色模型) | .NET | ✓ | ✓ | |
| C# (進程內模型) | .NET | ✓ | ✓ | * |
| JavaScript | Node.js | ✓ | ✓ | ✓ |
| Python(編程語言) | Python | ✓ | X | ✓ |
| 爪哇島 | JAVA | ✓ | ✓ | |
| PowerShell | PowerShell 核心 | ✓ | ✓ | ✓ |
| TypeScript | Node.js | ✓ | ✓ | |
| Go/Rust/其他 | 自訂處理常式 | ✓ | ✓ |
*雖然我們建議對 C# 應用程式進行本機開發,但您也可以使用入口網站來開發和測試使用內含式模型的 C# 指令碼函式。 如需詳細資訊,請參閱建立 C# 指令碼應用程式。
如需作系統和語言支援的詳細資訊,請參閱 作系統支援。
當無法在入口網站中編輯時,您必須改為在本機開發您的函式應用程式。
如需如何在 Azure 中執行函式應用程式時維護完整支援涵蓋範圍的詳細資訊,請參閱 Azure Functions 語言堆疊支援原則 (部分機器翻譯)。
語言主要版本支援
Functions 針對所支援的程式設計語言的主要版本提供支援保證。 大部分的語言都會發行次要版本或修補檔版本,更新支援的主要版本。 次要或修補版本的範例包括 Python 3.9.1 和 Node 14.17。 在受支援語言的新次要版本可用之後,您的函式應用程式所使用的次要版本會自動升級為這些較新的次要或修補版本。
附註
Functions 可以在新的次要版本可用之後移除對較舊的次要版本的支援。 因此,您不應將您的函式應用程式釘選到程式設計語言的特定次要或修補版本。
自訂處理常式
自訂處理常式是輕量網頁伺服器,其會從 Functions 主機接收事件。 您可以使用任何支援 HTTP 基本元素的語言來實作自訂處理常式。 因此,您可以使用自訂處理常式,以官方不支援的語言來建立函式應用程式。 如需詳細資訊,請參閱 Azure Functions 自訂處理常式。
語言擴充性
Functions 執行階段的設計旨在提供語言可擴充性。 JavaScript、Java 和 Python 語言都內建了這種可擴充性。
ODBC 驅動程式支援
下表列出了開放式資料庫連接 (ODBC) 驅動程式版本對 Python 函式應用程式所提供的支援:
| 驅動程式版本 | Python 版本 |
|---|---|
| ODBC 驅動程式 18 | ≥ Python 3.11 |
| ODBC 驅動程式 17 | ≤Python 3.10 |
後續步驟
.NET 隔離式背景工作處理序參考 (部分機器翻譯)。