閱讀英文

共用方式為

注册 Azure Functions 绑定扩展

Azure Functions 运行时本机运行 HTTP 和计时器触发器。 其他受支持的 触发器和绑定 可用作单独的 NuGet 扩展包。

.NET 类库项目使用作为 NuGet 包安装在项目中的绑定扩展。

扩展捆绑包允许 non-.NET 应用使用绑定扩展,而无需与 .NET 基础结构交互。

扩展捆绑包

扩展捆绑包将预定义的兼容绑定扩展集添加到函数应用。 扩展捆绑已进行版本控制。 每个版本都包含一组特定的绑定扩展,这些扩展经过验证,可协同工作。 根据应用中所需的扩展,选择捆绑版本。

从 non-.NET 模板创建 Azure Functions 项目时,扩展捆绑包已在应用的 host.json 文件中启用。

定义扩展捆绑包

通过添加节extensionBundle 项目文件中定义扩展捆绑包引用,如以下示例所示:

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

extensionBundle 中提供了以下属性:

properties 说明
id Azure Functions 扩展捆绑的命名空间。
版本 要安装的捆绑包的版本。 Functions 运行时始终选取由版本范围或间隔定义的可允许最高版本。 上述版本值允许从 3.3.0 到(但不包括)4.0.0 的所有捆绑包版本。 有关详细信息,请参阅用于指定版本范围的间隔表示法

支持的扩展捆绑包

下表列出了当前已正式发布的默认 Microsoft.Azure.Functions.ExtensionBundle 捆绑包(正式版)。

捆绑版本 host.json 中的版本 已包含的扩展
4.x [4.0.0, 5.0.0) 请参阅用于生成捆绑的 extensions.json
3.x [3.3.0, 4.0.0) 请参阅用于生成捆绑的 extensions.json
2.x [2.*, 3.0.0) 请参阅用于生成捆绑的 extensions.json
1.x [1.*, 2.0.0) 请参阅用于生成捆绑的 extensions.json

默认扩展捆绑包是使用版本范围定义的,此表链接到捆绑包的扩展定义。 有关扩展捆绑包发行版以及每个发行版中的扩展版本的完整列表,请参阅扩展捆绑包发行版页面

扩展捆绑包注意事项

使用扩展捆绑包时,请记住以下注意事项:

  • 如果可能,应在此表中host.json设置version范围值,例如[4.0.0, 5.0.0),而不是定义自定义范围。
  • 使用最新版本范围获取最佳的应用性能和对最新功能的访问权限。

预览扩展捆绑包

特定绑定扩展的预发行版经常在预览扩展捆绑包中提供。 这些具有 ID 的 Microsoft.Azure.Functions.ExtensionBundle.Preview预览扩展捆绑包允许你在将其声明为 GA 之前利用新的扩展行为。 选择使用非 GA 扩展捆绑包时,请记住以下注意事项:

  • 预览版捆绑包可以包括仍在开发中但尚未准备好用于生产的功能。
  • 预览版之间发生中断性变更,但未事先通知,这可能包括对以下内容的更改:
    • 触发器和绑定的定义
    • 预览版中包含的扩展
    • 性能特征和稳定性
  • 安全更新可能需要升级版本。
  • 必须在非生产环境中完全测试预览捆绑包,并避免在生产环境中使用预览捆绑包。 在生产环境中必须使用预览捆绑包时,请采取以下额外预防措施:
    • 将捆绑包固定到经过测试的特定捆绑包版本,而不是固定到某个范围。 固定可防止在非生产环境中验证更新之前自动升级捆绑包版本。
    • 在完全支持的捆绑包版本中提供该功能后,将应用移动到使用 GA 捆绑包版本。
  • 若要随时了解捆绑更新,包括从预览版迁移到正式版,应:

显式安装扩展

对于已编译的 C# 类库项目,可以像在应用中一样为所需的扩展安装 NuGet 包。 有关详细信息,请参阅 Visual Studio Code 开发人员指南Visual Studio 开发人员指南

请确保获取正确的包,因为命名空间因执行模型而异:

执行模型 Namespace
独立工作进程 Microsoft.Azure.Functions.Worker.Extensions.*
进行中 Microsoft.Azure.WebJobs.Extensions.*

函数为 non-.NET 项目提供扩展捆绑包,其中包含一组已验证为兼容的绑定扩展。 如果在两个或多个绑定扩展之间遇到兼容性问题,请参阅 扩展捆绑包发布页 以查看扩展版本的兼容组合。

在某些情况下,无法使用扩展捆绑包,例如,需要使用特定扩展的特定预发行版版本。 在这些极少数情况下,必须在引用应用所需的特定扩展的 C# 项目文件(extensions.csproj)中手动安装任何必需的绑定扩展。

在本地项目中创建此 C# 文件的最简单方法是使用 Azure Functions Core Tools。 有关详细信息,请参阅 func extensions install 命令,该命令会为你生成此项目。

对于仅限门户的开发,需要在 Azure 中函数应用的根目录中手动创建 extensions.csproj 文件。 若要了解详细信息,请参阅手动安装扩展

后续步骤