|
| 1 | +--- |
| 2 | +title: Durable Functions packages |
| 3 | +description: Introduction to the Durable Functions packages, extensions, and SDKs. |
| 4 | +author: davidmrdavid |
| 5 | +ms.topic: overview |
| 6 | +ms.date: 04/09/2024 |
| 7 | +ms.author: dajusto |
| 8 | +ms.custom: devdivchpfy22, devx-track-extended-java, devx-track-js, devx-track-python |
| 9 | +ms.reviewer: azfuncdf |
| 10 | +#Customer intent: As a < type of user >, I want < what? > so that < why? >. |
| 11 | +--- |
| 12 | + |
| 13 | +# The Durable Functions packages |
| 14 | + |
| 15 | +[Durable Functions](./durable-functions-overview.md) is available in all first-party Azure Functions runtime environments (e.g. .NET, Node, Python, etc.). 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. |
| 16 | + |
| 17 | +## .NET in-process |
| 18 | + |
| 19 | +.NET in-process users need to reference the [Microsoft.Azure.WebJobs.Extensions.DurableTask](https://www.nuget.org/packages/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. |
| 20 | + |
| 21 | +### The storage providers packages |
| 22 | + |
| 23 | +By default, Durable Functions uses Azure Storage as it's backing store. However, alternative [storage providers](./durable-functions-storage-providers.md) 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: |
| 24 | + |
| 25 | +* The Netherite storage provider: [Microsoft.Azure.DurableTask.Netherite.AzureFunctions](https://www.nuget.org/packages/Microsoft.Azure.DurableTask.Netherite.AzureFunctions). |
| 26 | +* The MSSQL storage provider: [Microsoft.DurableTask.SqlServer.AzureFunctions](https://www.nuget.org/packages/Microsoft.DurableTask.SqlServer.AzureFunctions) |
| 27 | + |
| 28 | +> [!TIP] |
| 29 | +> See the [storage providers guide](./durable-functions-storage-providers.md) for complete instructions on how to configure each backend. |
| 30 | +
|
| 31 | +> [!NOTE] |
| 32 | +> These are the same packages that non-.NET customers [manually upgrading their extensions](./durable-functions-extension-upgrade.md#manually-upgrade-the-durable-functions-extension) need to manage in their `.csproj`. |
| 33 | +
|
| 34 | +## .NET isolated |
| 35 | + |
| 36 | +.NET isolated users need to reference the [Microsoft.Azure.Functions.Worker.Extensions.DurableTask](https://www.nuget.org/packages/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. |
| 37 | + |
| 38 | +### The storage providers packages |
| 39 | + |
| 40 | +In .NET isolated, the alternative [storage providers](./durable-functions-storage-providers.md) 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: |
| 41 | + |
| 42 | +* The Netherite storage provider: [Microsoft.Azure.Functions.Worker.Extensions.DurableTask.Netherite](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.DurableTask.Netherite). |
| 43 | +* The MSSQL storage provider: [Microsoft.Azure.Functions.Worker.Extensions.DurableTask.SqlServer](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.DurableTask.SqlServer) |
| 44 | + |
| 45 | +> [!TIP] |
| 46 | +> See the [storage providers guide](./durable-functions-storage-providers.md) for complete the instructions on how to configure each backend. |
| 47 | +
|
| 48 | +## Extension Bundles users |
| 49 | + |
| 50 | +Users of [Extension Bundles](../functions-bindings-register.md#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: |
| 51 | + |
| 52 | +* Node (JavaScript / TypeScript): The [durable-functions](https://www.npmjs.com/package/durable-functions) npm package. |
| 53 | +* Python: The [azure-functions-durable](https://pypi.org/project/azure-functions-durable/) PyPI package. |
| 54 | +* Java: The [durabletask-azure-functions](https://mvnrepository.com/artifact/com.microsoft/durabletask-azure-functions) Maven package. |
| 55 | +* PowerShell: The current GA SDK is built-in to Azure Functions PowerShell language worker, so no installation is needed. See the following _note_ for details. |
| 56 | + |
| 57 | +> [!NOTE] |
| 58 | +> For PowerShell users: we have a [_preview_ SDK standalone package](./durable-functions-powershell-v2-sdk-migration-guide.md) under [AzureFunctions.PowerShell.Durable.SDK](https://www.powershellgallery.com/packages/AzureFunctions.PowerShell.Durable.SDK) in the PowerShell gallery. The latter will be preferred in the future. |
| 59 | +
|
| 60 | +## GitHub repositories |
| 61 | + |
| 62 | +Durable Functions is developed in the open as OSS. Users are welcome to contribute to it's development, request features, and to report issues in the appropiate repositories: |
| 63 | + |
| 64 | +* [azure-functions-durable-extension](https://github.com/Azure/azure-functions-durable-extension): For .NET in-process and the Azure Storage storage provider. |
| 65 | +* [durabletask-dotnet](https://github.com/microsoft/durabletask-dotnet): For .NET isolated. |
| 66 | +* [azure-functions-durable-js](https://github.com/Azure/azure-functions-durable-js): For the Node.js SDK. |
| 67 | +* [azure-functions-durable-python](https://github.com/Azure/azure-functions-durable-python): For the Python SDK. |
| 68 | +* [durabletask-java](https://github.com/Microsoft/durabletask-java): For the Java SDK. |
| 69 | +* [azure-functions-durable-powershel](https://github.com/Azure/azure-functions-durable-powershell): For the PowerShell SDK. |
| 70 | +* [durabletask-netherite](https://github.com/microsoft/durabletask-netherite): For the Netherite storage provider. |
| 71 | +* [durabletask-mssql](https://github.com/microsoft/durabletask-mssql): For the MSSQL storage provider. |
0 commit comments