註冊 Azure Functions 繫結延伸模組

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

.NET 類別庫函數應用程式會使用的繫結,是安裝在專案中作為 NuGet 套件的繫結。 擴充功能套件組合允許非 .NET 函數應用程式使用相同的繫結,而不需要處理 .NET 基礎結構。

下表指出何時要註冊繫結,以及註冊方式。

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

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

擴充功能套件組合

根據預設,JAVA、JavaScript、PowerShell、Python、C# 指令碼和自訂處理常式函數應用程式會使用延伸模組套件組合,以搭配繫結延伸模組使用。 如果無法使用擴充功能套件組合,您可以使用函數應用程式專案明確地安裝繫結延伸模組。 2.x 版和更新版本的函式執行階段支援擴充功能套件組合。

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

當您從工具或入口網站建立 non-.NET Functions 專案時,擴充功能套件組合已在應用程式的 host.json 檔案中啟用。

擴充套件組合參考是由 host.json 中的 extensionBundle 區段所定義,如下所示:

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

extensionBundle 中有下列屬性可供使用:

屬性 描述
id Microsoft Azure 函式擴充功能套件組合的命名空間。
version 要安裝的套件組合版本。 函式執行階段一律會挑選版本範圍或間隔所定義的最大允許版本。 上述版本值允許 3.3.0 版本以上的所有搭售方案版本,但不包括 4.0.0。 如需詳細資訊,請參閱指定版本範圍的間隔標記法

注意

延伸模組組合 3.x 版目前不包含表格儲存體繫結。 如果您的應用程式需要表格儲存體,那麼您現在必須繼續使用 2.x 版。

下表列出預設 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) 請參閱用來產生套件組合1extensions.json

1 延伸模組組合 3.x 版目前不包含表格儲存體繫結。 如果您的應用程式需要表格儲存體,那麼您現在必須繼續使用 2.x 版。

注意

雖然 host.json 支援 version 的自訂範圍,但您應該使用此資料表中的版本值。

明確安裝延伸模組

針對編譯的 C# 類別庫專案 (同處理序隔離處理序),您可以像平常一樣為所需的擴充功能安裝 NuGet 套件。 如需範例,請參閱 Visual Studio Code 開發人員指南Visual Studio 開發人員指南

針對非 .NET 語言和 C# 指令碼,當您無法使用擴充功能套件組合時,您必須在本機專案中手動安裝必要的繫結延伸模組。 最簡單的方式是使用 Azure Functions Core Tools。 若要深入了解,請參閱安裝延伸模組

針對僅限入口網站的開發,您必須在函數應用程式的根目錄中手動建立 extensions.csproj file 檔案。 若要深入了解,請參閱手動安裝延伸模組

後續步驟