升级 Durable Functions 扩展版本

用户遇到的很多 Durable Functions 的问题只需升级到最新版本的扩展即可解决,最新版本通常包含重要的 bug 修复和性能改进。 可以按照本文中的说明获取最新版本的 Durable Functions 扩展。

可以在 Azure/azure-functions-durable-extension 存储库的“发布”页中找到对扩展所做的更改。 还可以配置为在有新的扩展版本时接收通知,方法是转到“发布”页,单击“监视”,然后单击“自定义”,最后选择“发布”筛选器:

Screenshot of step 1 to set up release notifications.

Screenshot of step 2 to set up release notifications.

引用最新的 NuGet 包(仅 .NET 应用)

.NET 应用可以通过引用最新的 NuGet 包来获取最新版本的 Durable Functions 扩展:

如果你使用 Netherite 或 MSSQL 存储提供程序(而不是 Azure 存储),则需要引用以下项之一:

升级扩展捆绑包

扩展捆绑包为非 .NET 函数应用提供了一种简单方便的方式来引用和使用各种 Azure 函数触发器和绑定。 例如,如果需要在每次触发函数时向事件中心发送消息,则可以使用事件中心扩展来获取对事件中心绑定的访问权限。 Durable Functions 扩展也包含在每个版本的扩展捆绑包中。 使用任何受支持的开发工具创建函数应用时,会在 host.json 中自动配置扩展捆绑包。

大多数非 .NET 应用程序依赖于扩展捆绑包来获取对各种触发器和绑定的访问权限。 最新的捆绑包版本通常包含最新版本的 Durable Functions 扩展,其中包含关键的 bug 修复和性能改进。 因此,让应用使用最新版本的扩展捆绑包非常重要。 可以检查 host.json 文件,以查看所使用的版本范围是否包括最新的扩展捆绑包版本。

手动升级 Durable Functions 扩展

如果升级扩展捆绑包无法解决问题,并且你注意到较新版本的 Durable Functions 扩展包含对问题的潜在修复,则可以尝试手动升级扩展本身。 请注意,这仅适用于高级方案或需要时间敏感性修补程序的情况,因为手动管理扩展有许多缺点。 例如,当使用的扩展彼此不兼容时,可能需要处理 .NET 错误。 还需要手动升级扩展以获取最新的修补程序和补丁,而不是通过扩展捆绑包自动获取它们。

首先,从 host.json 文件中删除 extensionBundle 节。

安装 dotnet CLI(如果尚未安装)。 可以从此获取它。

由于应用程序通常使用多个扩展,因此建议运行以下命令,以手动安装扩展捆绑包支持的所有扩展的所有最新版本:

func extensions install

但是,如果你想安装最新的 Durable Functions 扩展版本,请运行以下命令:

func extensions install Microsoft.Azure.WebJobs.Extensions.DurableTask -v <version>

例如:

func extensions install Microsoft.Azure.WebJobs.Extensions.DurableTask -v 2.9.1