Skip to content

Commit 65b7da2

Browse files
Merge pull request #271699 from davidmrdavid/dajusto/overview-df-packages
Add guide introducing all DF packages, and other fixes
2 parents b7e6aa7 + 8875231 commit 65b7da2

File tree

4 files changed

+79
-3
lines changed

4 files changed

+79
-3
lines changed

articles/azure-functions/durable/TOC.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@
1212
href: durable-functions-versions.md
1313
- name: Durable Functions for .NET isolated
1414
href: durable-functions-dotnet-isolated-overview.md
15+
- name: Durable Functions packages
16+
href: durable-functions-packages.md
1517
- name: Quickstarts
1618
expanded: true
1719
items:

articles/azure-functions/durable/durable-functions-isolated-create-first-csharp.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -154,8 +154,11 @@ Azure Functions Core Tools lets you run an Azure Functions project locally. You'
154154

155155
1. To test your function, set a breakpoint in the `SayHello` activity function code and press <kbd>F5</kbd> to start the function app project. Output from Core Tools is displayed in the **Terminal** panel.
156156

157-
> [!NOTE]
158-
> For more information on debugging, see [Durable Functions Diagnostics](durable-functions-diagnostics.md#debugging).
157+
> [!NOTE]
158+
> For more information on debugging, see [Durable Functions Diagnostics](durable-functions-diagnostics.md#debugging).
159+
160+
> [!NOTE]
161+
> If you encounter a "No job functions found" error, please [update your Azure Functions Core Tools installation to the latest version](./../functions-core-tools-reference.md). Older versions of core tools do not support .NET isolated.
159162
160163
1. In the **Terminal** panel, copy the URL endpoint of your HTTP-triggered function.
161164

articles/azure-functions/durable/durable-functions-overview.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ zone_pivot_groups: df-languages
1313

1414
# What are Durable Functions?
1515

16-
*Durable Functions* is an extension of [Azure Functions](../functions-overview.md) that lets you write stateful functions in a serverless compute environment. The extension lets you define stateful workflows by writing [*orchestrator functions*](durable-functions-orchestrations.md) and stateful entities by writing [*entity functions*](durable-functions-entities.md) using the Azure Functions programming model. Behind the scenes, the extension manages state, checkpoints, and restarts for you, allowing you to focus on your business logic.
16+
*Durable Functions* is a feature of [Azure Functions](../functions-overview.md) that lets you write stateful functions in a serverless compute environment. The extension lets you define stateful workflows by writing [*orchestrator functions*](durable-functions-orchestrations.md) and stateful entities by writing [*entity functions*](durable-functions-entities.md) using the Azure Functions programming model. Behind the scenes, the extension manages state, checkpoints, and restarts for you, allowing you to focus on your business logic.
1717

1818
## <a name="language-support"></a>Supported languages
1919

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
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

Comments
 (0)