Azure Functions 中支援語言

本文說明當您使用「Azure Functions」時,所提供的您偏好語言的支援等級。 它也會說明在您使用非原生支援的語言時建立函式應用程式的策略。

支援有兩種等級:

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

依執行階段版本的語言

請務必在 文章頂端選取您慣用的開發語言。

下表顯示 Azure Functions 支援的 .NET 版本。

支援的 .NET 版本取決於你的 Functions 執行版本和所選執行模型。

你的函式應用程式程式碼在另一個 .NET 工作程序中執行。 請搭配支援的 .NET 及 .NET Framework 版本使用。 欲了解更多資訊,請參閱 在孤立工作模型中執行 Azure Functions 的 C# 指南。

支援的版本 支援層級 預期的終止支援日期
.NET 10 GA 2028年11月14日
.NET 9 GA 2026 年 11 月 10 日
.NET 8 GA 2026年11月10日
.NET 框架 4.8.1 GA 請參見 .NET框架支援政策

1 .NET 9 先前預計支援終止日期為 2026 年 5 月 12 日。 在 .NET 9 服務期間,.NET 團隊將 STS 版本的支援延長至 24 個月,從 .NET 9 開始。 如需詳細資訊,請參閱 部落格文章。

附註

.NET 9 是最後一個支援 Linux 消費方案應用程式的 .NET 版本。 較新的 .NET 版本不會新增至 Linux Consumption。 如需詳細資訊,請參閱 將取用方案應用程式移轉至彈性取用方案。

.NET 6 於 2024 年 11 月 12 日 正式結束支援。

.NET 7 於 2024 年 5 月 14 日 正式結束支援。

欲了解更多資訊,請參閱 在孤立工作模型中執行 Azure Functions 的 C# 指南。

下表顯示支援 Java 函式應用程式的語言版本:

支援的版本 支援層級 支援期限
Java 25 GA 2029 年 5 月
Java 21 GA 2028年9月
Java 17 GA 2027 年 9 月
Java 11 GA 2027 年 9 月
Java 8 GA 2027 年 9 月

附註

Java 21 是最後一個支援 Linux 消費方案應用程式的 Java 版本。 較新的 Java 版本未被納入 Linux 使用環境。 如需詳細資訊,請參閱 將取用方案應用程式移轉至彈性取用方案。

欲了解更多開發與執行Java函式應用程式的資訊,請參閱 Azure Functions Java 開發者指南。

下表顯示 Node.js 函式應用程式支援的語言版本:

支援的版本 支援層級 預期的終止支援日期
Node.js 24 GA 2028年4月30日
Node.js 22 GA 2027 年 4 月 30 日

透過轉譯至 JavaScript 支援 TypeScript。 更多資訊請參考 Azure Functions Node.js 開發者指南。

附註

Node.js 22 是最後一個支援 Linux 消費方案應用程式的 Node.js 版本。 較新的 Node.js 版本不會新增至 Linux 消耗計劃。 如需詳細資訊,請參閱 將取用方案應用程式移轉至彈性取用方案。

下表顯示 PowerShell 函式應用程式所支援的語言版本:

支援的版本 支援層級 預期的終止支援日期
PowerShell 7.6 GA 2028年11月14日
PowerShell 7.4 GA 2026 年 11 月 10 日

PowerShell 7.6 支援所有 Azure Functions 主機方案,Linux Consumption 除外,包括 Windows 與 Linux 的 Premium 與 Dedicated 方案、Windows Consumption 及 Flex Consumption。

重要事項

在將 Linux Consumption 方案從 PowerShell 7.4 升級到 PowerShell 7.6 之前,必須先 將應用程式遷移到 Flex Consumption 方案。 PowerShell 7.4 是 Linux Consumption 方案中最後支援的版本。

欲了解更多資訊,請參閱 Azure Functions PowerShell 開發者指南。

下表顯示 Python 函式應用程式所支援的語言版本:

支援的版本 支援層級 預期的終止支援日期
Python 3.14 GA 2029 年 4 月
Python 3.13 GA 2029年10月
Python 3.12 GA 2028年10月
Python 3.11 GA 2027 年 10 月
Python 3.10 GA 2026 年 10 月

附註

Python 3.12 是最後一個支援 Linux 消費方案應用程式的 Python 版本。 較新的 Python 版本未加入 Linux 消耗方案。 如需詳細資訊,請參閱 將取用方案應用程式移轉至彈性取用方案。

更多資訊請參閱 Azure Functions Python 開發者指南。

下表顯示 Azure Functions 支援的 Go 版本:

支援的版本 支援層級 預期的終止支援日期
升級到 1.24 或更新版本 Preview 待處理1

1 Go 支援的終止日期由宣告一般可用性(GA)時決定。

附註

目前僅在裝載於 Flex Consumption 方案的功能應用程式中提供 Go 支援。

更多資訊請參見 Azure Functions Go 開發者參考。

有關語言支援計畫變更的資訊,請參閱 Azure roadmap updates 。

適用於受影響現有應用程式的受管理 Linux 映像檔

現有的功能應用程式會保留他們所選的受管 Linux 映像檔,直到你更改應用程式設定。 如果現有的 Python 3.11 或 Java 8、11 或 17 應用程式在彈性高級或專用(App Service)方案中使用 Debian Bullseye,請使用以下數值選擇更新的 Linux 發行版,同時保留相同語言版本:

語言版本 Debian Bullseye 值 較新的發行版 較新的影像數值
Python 3.11 Python\|3.11\|2.0 Debian 書蟲 Python\|3.11\|3.0
Java 8 Java\|8\|2.0 Ubuntu Noble Java\|8\|4.0
爪哇11 Java\|11\|2.0 Ubuntu Noble Java\|11\|4.0
爪哇17 Java\|17\|2.0 Ubuntu Noble Java\|17\|4.0

關於測試及更改受管理映像的說明,請參見更新受管理的 Linux 映像。 對於 Linux Consumption 方案的應用程式,請 遷移到 Flex Consumption 方案。

語言支援詳細資訊

下表顯示 Functions 支援的語言可在 Linux 或 Windows 上執行。 同時也會顯示是否支援在 Azure 入口網站中編輯每種語言。 這個語言是基於您在 Azure 門戶中建立函式應用程式時選擇的 Runtime stack 選項。 這個值與你在使用 Azure Functions Core Tools 中的 --worker-runtime 指令時指定的 func init 選項相同。

語言 執行階段堆疊 Linux Windows 入口網站編輯1
C# (隔離式背景工作角色模型) .NET ✓ ✓
C# (進程內模型) .NET ✓ ✓ 2
JavaScript Node.js ✓ ✓ ✓
Python Python ✓ X ✓ 1
Java JAVA ✓ ✓
PowerShell PowerShell 核心 ✓ ✓ ✓
TypeScript Node.js ✓ ✓
Go(預覽) Go ✓
鏽蝕/其他 自訂處理常式 ✓ ✓
  1. 目前在 Flex Consumption 方案中不支援入口內編輯功能。 當無法在入口網站中編輯時,您必須改為在本機開發您的函式應用程式。
  2. 雖然我們建議 C# 應用程式在本地開發,但你也可以利用入口網站開發並測試使用正在進行中模型的 C# 腳本函式。 如需詳細資訊,請參閱建立 C# 指令碼應用程式。
  3. Python 的入口內編輯僅在 Consumption 計畫中執行時支援。

重要事項

在 Linux 上使用 Consumption 計劃且仍使用已到期的 v3 執行階段 的函式應用程式,在 2026 年 9 月 30 日後將停止運行。 為避免服務中斷,請將 應用程式遷移到 v4 執行環境。

在 Linux 上以 Consumption 方案託管功能應用程式的選項將於 2028 年 9 月 30 日終止。 Linux 消費方案沒有新增功能或 語言版本。 在 Windows 上運行的 Consumption 方案應用程式目前不受影響。 在退休日前將應用程式遷移到 Flex Consumption 計畫。

如需作系統和語言支援的詳細資訊,請參閱 作系統支援。

欲了解更多如何在Azure中執行功能應用程式時維持完整支援覆蓋,請參閱 Azure Functions語言堆疊支援政策。

語言主要版本支援

Functions 針對所支援的程式設計語言的主要版本提供支援保證。 大部分的語言都會發行次要版本或修補檔版本,更新支援的主要版本。 次要或補丁版本的例子包括 Python 3.9.1 和 Node 14.17。 在受支援語言的新次要版本可用之後,您的函式應用程式所使用的次要版本會自動升級為這些較新的次要或修補版本。

附註

Functions 可以在新的次要版本可用之後移除對較舊的次要版本的支援。 因此,您不應將您的函式應用程式釘選到程式設計語言的特定次要或修補版本。

自訂處理常式

自訂處理常式是輕量網頁伺服器,其會從 Functions 主機接收事件。 您可以使用任何支援 HTTP 基本元素的語言來實作自訂處理常式。 因此,您可以使用自訂處理常式,以官方不支援的語言來建立函式應用程式。 更多資訊請參見 Azure Functions custom handlers。

語言擴充性

函式執行時設計為提供 語言擴充性。 JavaScript、Java 和 Python 語言都是以這種可擴充性建構的。

ODBC 驅動程式支援

下表列出 Open Database Connectivity(ODBC)驅動程式版本對 Python 函式應用程式所提供的支援:

驅動程式版本 Python 版本
ODBC 驅動程式 18 ≥ Python 3.11
ODBC 驅動程式 17 ≤ Python 3.10

後續步驟