註冊 Azure Functions 系結延伸模組

從 Azure Functions 2.x 版開始,函式運行時間預設只會包含 HTTP 和定時器觸發程式。 其他 觸發程式和系結可作為個別套件 使用。

.NET 類別庫函式應用程式會使用安裝在專案中做為 NuGet 套件的系結。 延伸模組套件組合允許 non-.NET 函式應用程式使用相同的系結,而不需要處理 .NET 基礎結構。

下表指出註冊系結的時機和方式。

開發環境 註冊
在 Functions 1.x 中
註冊
在 Functions 2.x 或更新版本中
Azure 入口網站 自動 自動*
Non-.NET 語言 自動 使用 延伸模組套件 組合 (建議) 或 明確安裝擴充功能
使用 Visual Studio 的 C# 類別庫 使用 NuGet 工具 使用 NuGet 工具
使用 Visual Studio Code 的 C# 類別庫 N/A 使用 .NET Core CLI

* 入口網站會使用延伸模組套件組合,包括 C# 腳本。

延伸模組套件組合

根據預設,Java、JavaScript、PowerShell、Python、C# 腳本和自定義處理程式函式應用程式會使用延伸模組套件組合,以使用系結延伸模組。 如果無法使用擴充功能套件組合,您可以使用函式應用程式項目明確地安裝系結延伸模組。 2.x 版和更新版本的 Functions 運行時間支援延伸模組套件組合。

延伸模組套件組合是將預先定義的一組相容系結延伸模組新增至函式應用程式的方式。 延伸模組套件組合已設定版本。 每個版本都包含一組特定的系結延伸模組,這些延伸模組會經過驗證以一起運作。 根據您在應用程式中所需的擴充功能,選取套件組合版本。

當您從工具或入口網站中建立 non-.NET Functions 專案時,應用程式host.json檔案中已經啟用延伸模組套件組合。

延伸模組套件組合參考是由extensionBundlehost.json中的 區段所定義,如下所示:

{
    "version": "2.0",
    "extensionBundle": {
        "id": "Microsoft.Azure.Functions.ExtensionBundle",
        "version": "[4.0.0, 5.0.0)"
    }
}

中提供 extensionBundle下列屬性:

屬性 說明
id Microsoft Azure Functions 延伸模組套件組合的命名空間。
version 要安裝之套件組合的版本範圍。 Functions 運行時間一律會挑選版本範圍或間隔所定義的允許版本上限。 例如, version 的值範圍 [4.0.0, 5.0.0) 允許從 4.0.0 到但不包含 5.0.0 的所有套件組合版本。 如需詳細資訊,請參閱 指定版本範圍的間隔表示法。

下表列出目前可用的預設 Microsoft.Azure.Functions.ExtensionBundle 套件組合版本範圍,以及它們所包含的擴充功能連結。

套件組合版本 host.json中的版本 內附延伸模組
1.x [1.*, 2.0.0) 請參閱 用來產生套件組合的 extensions.json。
2.x [2.*, 3.0.0) 請參閱 用來產生套件組合的 extensions.json。
3.x [3.3.0, 4.0.0) 請參閱 用來產生套件組合的 extensions.json。
4.x [4.0.0, 5.0.0) 請參閱 用來產生套件組合的 extensions.json。

注意

雖然 host.json 支援的 version自訂範圍,但您應該使用這個資料表中的版本範圍值,例如 [4.0.0, 5.0.0)

明確安裝延伸模組

針對已編譯的 C# 類別庫專案(同進程隔離的背景工作進程),您可以像平常一樣安裝所需延伸模組的 NuGet 套件。 如需範例, 請參閱Visual Studio Code 開發人員指南Visual Studio開發人員指南

針對 non-.NET 語言和 C# 腳稿,當您無法使用擴充功能套件組合時,您必須在本機專案中手動安裝必要的系結延伸模組。 最簡單的方式是使用 Azure Functions Core Tools。 如需詳細資訊,請參閱 func 擴充功能安裝

針對僅限入口網站的開發,您必須在函式應用程式的根目錄中手動建立 extensions.csproj 檔案。 若要深入瞭解,請參閱 手動安裝擴充功能

下一步