The Durable Functions packages

Durable Functions is available in all first-party Azure Functions runtime environments, such as .NET, Node.js, and Python. As such, there are multiple Durable Functions SDKs and packages for each language runtime supported. This guide provides a description of each Durable Functions package from the perspective of each runtime supported.

.NET in-process

.NET in-process users need to reference the Microsoft.Azure.WebJobs.Extensions.DurableTask package in their .csproj file to use Durable Functions. This package is known as the "WebJobs extension" for Durable Functions.

Storage providers packages:

By default, Durable Functions uses Azure Storage as its backing store. However, alternative storage providers are available as well. To use them, you need to reference their packages in addition to the WebJobs extension in your .csproj. Those packages are:

Tip

See the storage providers guide for complete instructions on how to configure each backend.

Note

These are the same packages that non-.NET customers manually upgrading their extensions need to manage in their .csproj.

.NET isolated

.NET isolated users need to reference the Microsoft.Azure.Functions.Worker.Extensions.DurableTask package in their .csproj file to use Durable Functions. This replaces the "WebJobs" extension used in .NET in-process as .NET isolated projects can't directly reference WebJobs packages. This package is known as the "worker extension" for Durable Functions.

storage providers packages:

In .NET isolated, the alternative storage providers are available as well under "worker extension" packages of their own. You need to reference their packages in addition to the worker extension in your .csproj. Those packages are:

Tip

See the storage providers guide for complete the instructions on how to configure each backend.

Extension Bundles users

Users of Extension Bundles (the recommended Azure Functions extension management mechanism for non-.NET users) simply need to install their language runtime's Durable Functions SDK. The SDKs for each first-party language are listed in the table below:

Note

For PowerShell users: the standalone AzureFunctions.PowerShell.Durable.SDK module is now generally available (GA) and is recommended over the legacy SDK that is built into the Azure Functions PowerShell language worker. Going forward, the legacy SDK may not receive new features or bug fixes, and may eventually be removed from the worker. See migration guide for details on migrating to the standalone SDK.

GitHub repositories

Durable Functions is developed in the open as OSS. Users are welcome to contribute to its development, request features, and to report issues in the appropriate repositories:

GitHub repository Description
azure-functions-durable-extension .NET in-process library and the Azure Storage storage provider
durabletask-dotnet .NET isolated worker process library
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 storage provider
durabletask-mssql MSSQL storage provider