註冊 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# 開發工具組 |
* 入口網站會使用延伸模組套件組合,包括 C# 腳本。
延伸模組套件組合
根據預設,擴充套件組合會提供這些語言函式的系結支援:
- Java
- JavaScript
- PowerShell
- Python
- C# 指令碼
- 其他 (自訂處理程式)
在無法使用擴充功能套件組合的罕見情況下,您可以使用函式應用程式項目明確地安裝系結延伸模組。 2.x 版和更新版本的 Functions 運行時間支援延伸模組套件組合。
延伸模組套件組合是將預先定義的一組相容系結延伸模組新增至函式應用程式的方式。 延伸模組套件組合已設定版本。 每個版本都包含一組特定的系結延伸模組,這些延伸模組會經過驗證以一起運作。 根據您在應用程式中所需的擴充功能,選取套件組合版本。
當您從工具或入口網站中建立 non-.NET Functions 專案時,應用程式host.json檔案中已經啟用延伸模組套件組合。
延伸模組套件組合參考是由extensionBundle
host.json中的 區段所定義,如下所示:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.0.0, 5.0.0)"
}
}
extensionBundle
中有下列屬性可供使用:
屬性 | 說明 |
---|---|
id |
Microsoft Azure 函式擴充功能套件組合的命名空間。 |
version |
要安裝的套件組合版本範圍。 函式執行階段一律會挑選版本範圍或間隔所定義的最大允許版本。 例如, 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 檔案。 若要深入了解,請參閱手動安裝延伸模組。