Durable Functions 在所有第一方 Azure Functions 运行时环境中都可用,例如 .NET、Node.js和 Python。 因此,支持的每个语言运行时都有多个 Durable Functions SDK 和包。 本指南从每个受支持的运行时的角度介绍了每个 Durable Functions 包。
.NET 进程内
.NET进程内的用户需要引用 Microsoft.Azure.WebJobs.Extensions.DurableTask 包,以便在他们的 .csproj 文件中使用Durable Functions。 此包称为 Durable Functions 的“WebJobs 扩展”。
存储提供程序包:
默认情况下,Durable Functions 使用 Azure 存储作为其后盾存储。 但是,其他存储提供程序也可用。 若要使用它们,除了引用 .csproj 中的 WebJobs 扩展之外,还需要引用这些提供程序的包。 这些包是:
- Netherite 存储提供程序:Microsoft.Azure.DurableTask.Netherite.AzureFunctions。
- MSSQL 存储提供程序: Microsoft.DurableTask.SqlServer.AzureFunctions
Tip
有关如何配置每个后端的完整说明,请参阅 存储提供程序指南 。
注意
这些包与非 .NET 客户手动升级其扩展时需要在 .csproj 中管理的包相同。
.NET 独立
.NET隔离用户需要在其 文件中引用.csproj 包以使用 Durable Functions。 这取代了 .NET 进程内使用的“WebJobs”扩展,因为独立 .NET 项目无法直接引用 WebJobs 包。 此包被称为 Durable Functions 的“工作器扩展”。
存储提供程序包:
在 .NET 隔离下,备用的 存储提供程序也通过其自己的“工作扩展”包提供。 除了 worker 扩展之外,还需要引用.csproj 这些包是:
- Netherite 存储提供程序:Microsoft.Azure.Functions.Worker.Extensions.DurableTask.Netherite。
- MSSQL 存储提供程序:Microsoft.Azure.Functions.Worker.Extensions.DurableTask.SqlServer
Tip
有关如何配置每个后端的完整说明,请参阅存储提供程序指南。
扩展捆绑包用户
Extension Bundles(Azure Functions 建议的非.NET用户的扩展管理机制)的用户只需安装其语言运行时的 Durable Functions SDK。 下表中列出了每个第一方语言的 SDK:
- Node (JavaScript/TypeScript): durable-functions npm 包。
- Python:azure-functions-durable PyPI 包。
- Java:durabletask-azure-functions Maven 包。
- PowerShell: AzureFunctions.PowerShell.Durable.SDK 模块。
注意
对于 PowerShell 用户:独立的 AzureFunctions.PowerShell.Durable.SDK 模块现已正式发布并推荐使用,相较于集成在 Azure Functions PowerShell 语言工作器中的旧 SDK 更为优越。 今后,旧版 SDK 可能不会收到新功能或缺陷修复,终究可能会从工作进程中删除。 有关迁移到独立 SDK 的详细信息,请参阅 迁移指南 。
GitHub 存储库
Durable Functions 以开源软件 (OSS) 的形式在开放环境中进行开发。 欢迎用户参与其开发、请求功能和报告相应存储库中的问题:
| GitHub存储库 | Description |
|---|---|
| azure-functions-durable-extension | .NET进程内库和Azure Storage存储提供者 |
| durabletask-dotnet | .NET 独立工作进程库 |
| azure-functions-durable-js | Node.js SDK |
| azure-functions-durable-python | Python SDK |
| durabletask-java | Java SDK |
| azure-functions-durable-powershell | PowerShell SDK |
| durabletask-netherite | Netherite 存储提供程序 |
| durabletask-mssql | MSSQL 存储提供程序 |