Durable Functions 包
Durable Functions 适用于所有第一方 Azure Functions 运行时环境(例如 .NET、Node、Python 等)。 因此,支持的每个语言运行时都有多个 Durable Functions SDK 和包。 本指南从每个受支持的运行时的角度介绍了每个 Durable Functions 包。
.NET 进程内用户需要在其 .csproj
文件中引用 Microsoft.Azure.WebJobs.Extensions.DurableTask 包才能使用 Durable Functions。 此包称为 Durable Functions 的“WebJobs 扩展”。
默认情况下,Durable Functions 使用 Azure 存储作为后备存储。 但是,其他存储提供程序也可用。 若要使用它们,除了引用 .csproj
中的 WebJobs 扩展之外,还需要引用这些提供程序的包。 这些包是:
- Netherite 存储提供程序:Microsoft.Azure.DurableTask.Netherite.AzureFunctions。
- MSSQL 存储提供程序:Microsoft.DurableTask.SqlServer.AzureFunctions
Sugerencia
有关如何配置每个后端的完整说明,请参阅存储提供程序指南。
Nota
这些包与非 .NET 客户手动升级其扩展时需要在 .csproj
中管理的包相同。
独立 .NET 用户需要在其 .csproj
文件中引用 Microsoft.Azure.Functions.Worker.Extensions.DurableTask 包才能使用 Durable Functions。 这取代了 .NET 进程内使用的“WebJobs”扩展,因为独立 .NET 项目无法直接引用 WebJobs 包。 此包称为 Durable Functions 的“辅助角色扩展”。
在独立 .NET 中,其他存储提供程序也在其自己的“辅助角色扩展”包中提供。 除了引用 .csproj
中的辅助角色扩展之外,还需要引用这些提供程序的包。 这些包是:
- Netherite 存储提供程序:Microsoft.Azure.Functions.Worker.Extensions.DurableTask.Netherite。
- MSSQL 存储提供程序:Microsoft.Azure.Functions.Worker.Extensions.DurableTask.SqlServer
Sugerencia
有关如何配置每个后端的完整说明,请参阅存储提供程序指南。
扩展捆绑包(建议用于非 .NET 用户的 Azure Functions 扩展管理机制)的用户只需安装其语言运行时的 Durable Functions SDK。 下表中列出了每个第一方语言的 SDK:
- Node (JavaScript/TypeScript):durable-functions npm 包。
- Python:azure-functions-durable PyPI 包。
- Java:durabletask-azure-functions Maven 包。
- PowerShell:当前正式发布的 SDK 内置于 Azure Functions PowerShell 语言辅助角色中,因此无需安装。 有关详细信息,请参阅以下说明。
Nota
对于 PowerShell 用户:PowerShell 库中的 AzureFunctions.PowerShell.Durable.SDK 中有一个预览版 SDK 独立包。 后者在未来将是首选。
Durable Functions 以 OSS 的形式在开放环境中开发。 我们欢迎用户参与开发、提出功能请求以及在相应存储库中报告问题:
- azure-functions-durable-extension:用于 .NET 进程内和 Azure 存储的存储提供程序。
- durabletask-dotnet:用于独立 .NET。
- azure-functions-durable-js:用于 Node.js SDK。
- azure-functions-durable-python:用于 Python SDK。
- durabletask-java:用于 Java SDK。
- azure-functions-durable-powerhel:用于 PowerShell SDK。
- durabletask-netherite:用于 Netherite 存储提供程序。
- durabletask-mssql:用于 MSSQL 存储提供程序。