You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/azure-functions/durable/choose-orchestration-framework.md
+7-7Lines changed: 7 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,5 @@
1
1
---
2
-
title: Choose your programming model
2
+
title: Choose your hosting option
3
3
description: Learn how your hosting platform determines whether to use Durable Functions for Azure Functions or the standalone Durable Task SDKs for self-hosted scenarios.
4
4
author: cgillum
5
5
ms.author: cgillum
@@ -12,7 +12,7 @@ titleSuffix: Durable Task
12
12
#Customer intent: As a developer, I want to understand which Durable Task programming model to use based on my hosting platform.
13
13
---
14
14
15
-
# Choose your programming model
15
+
# Choose your hosting option
16
16
17
17
As described in [What is Durable Task?](what-is-durable-task.md), the Durable Task framework supports two hosting models: **Azure Functions** (via Durable Functions) and **self-hosted** (via the standalone Durable Task SDKs). Both hosting models provide the same core durable execution capabilities (orchestrations, activities, timers, external events, and more) but differ in how your application is hosted, scaled, and deployed.
18
18
@@ -60,7 +60,7 @@ Azure Functions provides HTTP endpoints for your functions app, which the Durabl
60
60
When using the Durable Task SDKs, you need to implement your own HTTP endpoints depending on your hosting compute.
Durable Functions supports multiple storage backends, while the Durable Task SDKs exclusively use the Durable Task Scheduler.
85
85
86
86
> [!TIP]
87
-
> The **Durable Task Scheduler** is a fully managed Azure service that handles orchestration state persistence and execution. It's provisioned as a separate Azure resource with its own [pricing](./durable-task-scheduler/durable-task-scheduler-dedicated-sku.md). It's the recommended backend for Durable Functions and the only supported backend for the Durable Task SDKs.
87
+
> The **Durable Task Scheduler** is a fully managed Azure service that handles orchestration state persistence and execution. It's provisioned as a separate Azure resource with its own [pricing](./durable-task-scheduler/durable-task-scheduler-billing.md). It's the recommended backend for Durable Functions and the only supported backend for the Durable Task SDKs.
@@ -139,7 +139,7 @@ All Durable Task SDKs are open source and available on GitHub. However, some SDK
139
139
140
140
### Durable Task Framework (Legacy)
141
141
142
-
The [Durable Task Framework](https://github.com/Azure/durabletask) (DTFx) is an older, open-source .NET Durable Task library. While it provides similar orchestration primitives, it predates the modern Durable Task SDKs and doesn't include official Microsoft support or the latest features. It also requires you to manage hosting, operational infrastructure, and long-term maintenance themselves.
142
+
The [Durable Task Framework](https://github.com/Azure/durabletask) (DTFx) is an older, open-source .NET Durable Task library. While it provides similar orchestration primitives, it predates the modern Durable Task SDKs and doesn't include official Microsoft support or the latest features. It also requires you to manage hosting, operational infrastructure, and long-term maintenance yourself.
143
143
144
144
If you're starting a new project, we recommend using the modern Durable Task SDKs or Durable Functions instead.
Copy file name to clipboardExpand all lines: articles/azure-functions/durable/durable-functions-azure-storage-provider.md
+9-8Lines changed: 9 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -165,7 +165,7 @@ Storing payloads to local disks is *not* recommended, since on-disk state isn't
165
165
166
166
## Configuring the Azure storage provider
167
167
168
-
The Azure Storage provider is the default storage provider and doesn't require any explicit configuration, NuGet package references, or extension bundle references. You can find the full set of **host.json** configuration options[here](durable-functions-bindings.md#durable-functions-settings-in-hostjson), under the `extensions/durableTask/storageProvider` path.
168
+
The Azure Storage provider is the default storage provider and doesn't require any explicit configuration, NuGet package references, or extension bundle references. You can find the full set of [Durable Functions host.json configuration options](durable-functions-bindings.md#durable-functions-settings-in-hostjson) under the `extensions/durableTask/storageProvider` path.
169
169
170
170
### Connections
171
171
@@ -178,15 +178,16 @@ If the configured value is both an exact match for a single setting and a prefix
178
178
179
179
### Identity-based connections
180
180
181
-
If you are using [version 2.7.0 or higher of the extension](https://github.com/Azure/azure-functions-durable-extension/releases/tag/v2.7.0) and the Azure storage provider, instead of using a connection string with a secret, you can have the app use an [Microsoft Entra identity](../../active-directory/fundamentals/active-directory-whatis.md). To do this, you would define settings under a common prefix which maps to the `connectionName` property in the trigger and binding configuration.
181
+
If you are using [version 2.7.0 or higher of the extension](https://github.com/Azure/azure-functions-durable-extension/releases/tag/v2.7.0) and the Azure storage provider, instead of using a connection string with a secret, you can have the app use an [Microsoft Entra identity](/entra/fundamentals/what-is-entra). To do this, you would define settings under a common prefix which maps to the `connectionName` property in the trigger and binding configuration.
182
182
183
183
To use an identity-based connection for Durable Functions, configure the following app settings:
184
184
185
-
|Property | Environment variable template | Description | Example value |
| Blob service URI |`<CONNECTION_NAME_PREFIX>__blobServiceUri`| The data plane URI of the blob service of the storage account, using the HTTPS scheme. | https://<storage_account_name>.blob.core.windows.net |
188
-
| Queue service URI |`<CONNECTION_NAME_PREFIX>__queueServiceUri`| The data plane URI of the queue service of the storage account, using the HTTPS scheme. | https://<storage_account_name>.queue.core.windows.net |
189
-
| Table service URI |`<CONNECTION_NAME_PREFIX>__tableServiceUri`| The data plane URI of a table service of the storage account, using the HTTPS scheme. | https://<storage_account_name>.table.core.windows.net |
185
+
| Property | Environment variable template | Description | Example value |
| Blob service URI |`<CONNECTION_NAME_PREFIX>__blobServiceUri`| The data plane URI of the blob service of the storage account, using the HTTPS scheme. |`https://<storage_account_name>.blob.core.windows.net`|
188
+
| Queue service URI |`<CONNECTION_NAME_PREFIX>__queueServiceUri`| The data plane URI of the queue service of the storage account, using the HTTPS scheme. |`https://<storage_account_name>.queue.core.windows.net`|
189
+
| Table service URI |`<CONNECTION_NAME_PREFIX>__tableServiceUri`| The data plane URI of a table service of the storage account, using the HTTPS scheme. |`https://<storage_account_name>.table.core.windows.net`|
190
+
<!-- markdownlint-enable MD044 -->
190
191
191
192
Additional properties may be set to customize the connection. See [Common properties for identity-based connections](../functions-reference.md#common-properties-for-identity-based-connections).
192
193
@@ -373,7 +374,7 @@ The following table shows the [expected *maximum* throughput numbers for the sce
373
374
| External event processing | 50 events per second, per instance |
374
375
| Entity operation processing | 64 operations per second |
375
376
376
-
If you aren't seeing the throughput numbers you expect and your CPU and memory usage appears healthy, check whether the cause is related to [the health of your storage account](../../storage/common/storage-monitoring-diagnosing-troubleshooting.md#troubleshooting-guidance). The Durable Functions extension can put significant load on an Azure Storage account, and sufficiently high loads may result in storage account throttling.
377
+
If you aren't seeing the throughput numbers you expect and your CPU and memory usage appears healthy, check whether the cause is related to [the health of your storage account](/troubleshoot/azure/azure-storage/blobs/alerts/storage-monitoring-diagnosing-troubleshooting#troubleshooting-guidance). The Durable Functions extension can put significant load on an Azure Storage account, and sufficiently high loads may result in storage account throttling.
377
378
378
379
> [!TIP]
379
380
> In some cases, you can increase the throughput of external events, activity fan-in, and entity operations by increasing the value of the `controlQueueBufferThreshold` setting in your `host.json`. Increasing this value beyond its default causes the Durable Task Framework storage provider to use more memory to prefetch these events more aggressively, reducing delays associated with dequeueing messages from the Azure Storage control queues. For more information, see the [host.json](durable-functions-bindings.md#host-json) reference documentation.
Copy file name to clipboardExpand all lines: articles/azure-functions/durable/durable-functions-configure-managed-identity.md
+7-7Lines changed: 7 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,7 +9,7 @@ ms.author: azfuncdf
9
9
10
10
# Quickstart: Configure Durable Functions with managed identity
11
11
12
-
A managed identity from the access management service [Microsoft Entra ID](../../active-directory/fundamentals/active-directory-whatis.md) allows your app to access other Microsoft Entra protected resources, such as an Azure Storage account, without handling secrets manually. The identity is managed by the Azure platform, so you do *not* need to provision or rotate any secrets. The recommended way to authenticate access to Azure resources is through using such an identity.
12
+
A managed identity from the access management service [Microsoft Entra ID](/entra/fundamentals/what-is-entra) allows your app to access other Microsoft Entra protected resources, such as an Azure Storage account, without handling secrets manually. The identity is managed by the Azure platform, so you do *not* need to provision or rotate any secrets. The recommended way to authenticate access to Azure resources is through using such an identity.
13
13
14
14
In this quickstart, you complete steps to configure a Durable Functions app using the default **Azure Storage provider** to use identity-based connections for storage account access.
15
15
@@ -27,7 +27,7 @@ To complete this quickstart, you need:
27
27
28
28
If you don't have an existing Durable Functions project deployed in Azure, we recommend that you start with one of the following quickstarts:
29
29
30
-
-[Create your first durable function - C#](durable-functions-create-first-csharp.md)
30
+
-[Create your first durable function - C#](durable-functions-isolated-create-first-csharp.md)
31
31
-[Create your first durable function - JavaScript](quickstart-js-vscode.md)
32
32
-[Create your first durable function - Python](quickstart-python-vscode.md)
33
33
-[Create your first durable function - PowerShell](quickstart-powershell-vscode.md)
@@ -69,7 +69,7 @@ If none of these options are successful, an error stating that the app cannot re
69
69
70
70
Assign the roles to yourself by clicking **"+ Select members"** and finding your email in the pop-up window. (This email is the one you use to log into Microsoft applications, Azure CLI, or editors in the Visual Studio family.)
71
71
72
-

72
+
:::image type="content" source="./media/durable-functions-configure-df-with-credentials/assign-access-user.png" alt-text="Screenshot showing access assignment to user.":::
73
73
74
74
## Identity-based connections for app deployed to Azure
75
75
@@ -87,7 +87,7 @@ Navigate to your app's Azure Storage resource on the Azure portal and [assign](/
87
87
88
88
To find your identity resource, select assign access to **Managed identity** and then **+ Select members**
89
89
90
-

90
+
:::image type="content" source="./media/durable-functions-configure-df-with-credentials/assign-access-managed-identity.png" alt-text="Screenshot showing access assignment to managed identity.":::
91
91
92
92
### Add managed identity configuration to your app
93
93
@@ -96,7 +96,7 @@ Before you can use your app's managed identity, make some changes to the app set
96
96
1. In the Azure portal, on your function app resource menu under **Settings**, select **Environment variables**.
97
97
98
98
1. In the list of settings, find **AzureWebJobsStorage** and select the **Delete** icon.
99
-
[](./media/durable-functions-configure-df-with-credentials/durable-functions-managed-identity-scenario-01.png#lightbox)
99
+
:::image type="content" source="./media/durable-functions-configure-df-with-credentials/durable-functions-managed-identity-scenario-01.png" alt-text="Screenshot of default storage setting." lightbox="./media/durable-functions-configure-df-with-credentials/durable-functions-managed-identity-scenario-01.png":::
100
100
101
101
1. Add a setting to link your Azure storage account to the application.
102
102
@@ -120,7 +120,7 @@ Before you can use your app's managed identity, make some changes to the app set
120
120
121
121
You can get the values for these URI variables in the storage account information from the **Endpoints** tab.
122
122
123
-

123
+
:::image type="content" source="media/durable-functions-configure-df-with-credentials/durable-functions-managed-identity-scenario-02.png" alt-text="Screenshot of endpoint sample.":::
124
124
125
125
> [!NOTE]
126
126
> If you are using [Azure Government](../../azure-government/documentation-government-welcome.md) or any other cloud that's separate from global Azure, you must use the option that provides specific service URIs instead of just the storage account name. For more information on using Azure Storage with Azure Government, see the [Develop by using the Storage API in Azure Government](../../azure-government/documentation-government-get-started-connect-to-storage.md).
@@ -135,7 +135,7 @@ Before you can use your app's managed identity, make some changes to the app set
135
135
136
136
***AzureWebJobsStorage__clientId**, get this GUID value from your managed identity resource
137
137
138
-

138
+
:::image type="content" source="media/durable-functions-configure-df-with-credentials/durable-functions-managed-identity-scenario-03.png" alt-text="Screenshot of user identity client ID.":::
139
139
140
140
> [!NOTE]
141
141
> Durable Functions does *not* support `managedIdentityResourceId` when using user-assigned identity. Use `clientId` instead.
Copy file name to clipboardExpand all lines: articles/azure-functions/durable/durable-functions-diagnostics.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -605,7 +605,7 @@ Azure Functions supports debugging function code directly, and that same support
605
605
606
606
## Storage
607
607
608
-
By default, Durable Functions stores state in Azure Storage. You can inspect orchestration state and messages in the queues using tools such as [Microsoft Azure Storage Explorer](../../vs-azure-tools-storage-manage-with-storage-explorer.md).
608
+
By default, Durable Functions stores state in Azure Storage. You can inspect orchestration state and messages in the queues using tools such as [Microsoft Azure Storage Explorer](../../storage/storage-explorer/vs-azure-tools-storage-manage-with-storage-explorer.md).
609
609
610
610
:::image type="content" source="./media/durable-functions-diagnostics/storage-explorer.png" alt-text="Screenshot of Azure Storage Explorer showing Durable Functions orchestration state in tables and queues.":::
0 commit comments