Azure Functions 中支援的語言

本文會說明針對可搭配 Azure Functions 使用之語言所提供的支援等級。 同時說明使用非原生支援語言建立函數的策略。

支援等級

支援有兩種等級:

  • 正式推出 (GA) - 完整支援且已核准用於生產環境。
  • 預覽 - 尚未支援,但預期未來會進入 GA 狀態。

依執行階段版本的語言

發行多種版本 Azure Functions 執行階段。 以下表格說明每個執行階段版本支援哪些語言。

Language 1.x 2.x 3.x 4.x
C# GA (.NET Framework 4.8) GA (.NET Core 2.11) 公開推出 (.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 14)
GA (Node.js 16)
預覽 (Node.js 18)
F# GA (.NET Framework 4.8) GA (.NET Core 2.11) 公開推出 (.NET Core 3.1) GA (.NET 6.0)
GA (.NET 7.0)
Java N/A 公開推出 (Java 8) GA (JAVA 11 和 8) GA (JAVA 11 和 8)
預覽 (JAVA 17)
PowerShell N/A N/A GA (PowerShell 7.0) GA (PowerShell 7.0、7.2)
Python N/A GA (Python 3.7) GA (Python 3.9、3.8、3.7) GA (Python 3.9、3.8、3.7)
TypeScript2 N/A GA GA GA

1 .NET 類別庫應用程式,鎖定執行階段 2.x 版,其以 .NET Core 2.x 相容性模式在 .NET Core 3.1 上執行。 若要深入了解,請參閱 Functions v2.x 考量
2 透過轉譯成 JavaScript 而支援。

如需支援語言版本的詳細資訊,請參閱特定語言開發人員指南一文。
如需語言支援變更規劃的相關資訊,請參閱 Azure 藍圖

語言支援詳細資訊

下表顯示 Functions 支援哪些語言可以在 Linux 或 Windows 上執行。 這也指出您的語言是否支援在 Azure 入口網站中編輯。 語言是根據在 Azure 入口網站中建立函數應用程式時選擇的 [執行階段堆疊] 選項。 這與在 Azure Functions Core Tools 中使用 func init 命令時的 --worker-runtime 選項相同。

語言 執行階段堆疊 Linux Windows 入口網站內編輯
C# 類別庫1 .NET
C# 指令碼 .NET
JavaScript Node.js
Python Python
Java Java
PowerShell PowerShell Core
TypeScript Node.js
Go/Rust/其他 自訂處理常式

1 在入口網站中,您目前無法建立在 .NET 7.0 上執行的函式應用程式。 如需詳細資訊,請參閱在隔離的背景工作程式中執行 C# Azure Functions指南

如需作業系統和語言支援的詳細資訊,請參閱作業系統/執行時間支援

無法在入口網站內編輯時,您必須改為在本機開發函數

語言主要版本支援

Azure Functions 保證支援所支援程式設計語言的主要版本。 大部分的語言都會發行次要版本或修補檔版本,更新支援的主要版本。 次要或修補檔版本的範例包括 Python 3.9.1 和 Node 14.17。 支援語言的新次要版本發行後,函數應用程式使用的次要版本會自動升級為這些較新的次要版本或修補檔版本。

注意

因為 Azure Functions 可在新次要版本發行後,隨時不支援舊版次要版本,所以您不應將函數應用程式鎖定程式設計語言的特定次要/修補檔版本。

自訂處理常式

自訂處理常式是輕量 Web 伺服器,從 Azure Functions 主機接收事件。 任何支援 HTTP 基元的語言都可以實作自訂處理常式。 這表示自訂處理常式可用來以非正式支援的語言建立函數。 若要深入了解,請參閱 Azure Functions 自訂處理常式 (機器翻譯)

語言擴充性

2.x 版起,執行階段設計為具語言擴充性。 2.x 執行階段中的 JavaScript 和 Java 語言是使用此擴充性來建置。

下一步

若要深入了解如何以支援的語言開發函數,請參閱下列資源: