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/durable-task-scheduler/develop-with-durable-task-scheduler.md
+17-8Lines changed: 17 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,7 @@ title: Develop with the Azure Functions durable task scheduler (preview)
3
3
description: Learn how to develop with the Azure Functions durable task scheduler and task hub resources
4
4
author: lilyjma
5
5
ms.topic: how-to
6
-
ms.date: 02/27/2025
6
+
ms.date: 03/17/2025
7
7
ms.author: jiayma
8
8
ms.reviewer: azfuncdf
9
9
zone_pivot_groups: dts-devexp
@@ -62,11 +62,11 @@ Learn more about durable task scheduler [features](./durable-task-scheduler.md#f
62
62
docker run -itP mcr.microsoft.com/dts/dts-emulator:v0.0.5
63
63
```
64
64
65
-
The command above exposes a single task hub named `default`. If you need more than one task hub, you can set the environment variable `DTS_TASK_HUB_NAMES` on the container to a comma-delimited list of task hub names like below:
65
+
The command above exposes a single task hub named `default`. If you need more than one task hub, you can set the environment variable `DTS_TASK_HUB_NAMES` on the container to a comma-delimited list of task hub names like below:
66
66
67
-
```bash
68
-
docker run -itP -e DTS_TASK_HUB_NAMES=taskhub1,taskhub2,taskhub3 mcr.microsoft.com/dts/dts-emulator:v0.0.5
69
-
```
67
+
```bash
68
+
docker run -itP -e DTS_TASK_HUB_NAMES=taskhub1,taskhub2,taskhub3 mcr.microsoft.com/dts/dts-emulator:v0.0.5
69
+
```
70
70
71
71
## Create a scheduler and task hub
72
72
@@ -154,8 +154,8 @@ docker run -itP -e DTS_TASK_HUB_NAMES=taskhub1,taskhub2,taskhub3 mcr.microsoft.c
154
154
::: zone pivot="az-portal"
155
155
156
156
You can create a scheduler and task hub on Azure portal via two ways:
157
-
- **Function app integrated creation:** *(recommended)* automatically creates the managed identity resource and RBAC assignment needed for your app to access durable task scheduler.
158
-
- **Top-level creation:** Requires you to [manually assign RBAC](#configure-identity-based-authentication-for-app-to-access-durable-task-scheduler) to configure scheduler access for your app.
157
+
- **Function app integrated creation:***(recommended)* automatically creates the managed identity resource and RBAC assignment, plus configures required environment variablesfor your app to access durable task scheduler.
158
+
- **Top-level creation:** Requires you to [manually assign RBAC permission](#configure-identity-based-authentication-for-app-to-access-durable-task-scheduler) to configure scheduler access for your app.
159
159
160
160
> [!NOTE]
161
161
> Durable task scheduler currently supports apps hosted in the **App Service** and **Functions Premium** plans, so this experience is available only when either of these plan types is picked.
@@ -266,7 +266,16 @@ You can see all the task hubs created in a scheduler on the **Overview** of the
266
266
267
267
Durable task scheduler **only** supports either *user-assigned* or *system-assigned* managed identity authentication. **User-assigned identities are recommended,** as they aren't tied to the lifecycle of the app and can be reused after the app is de-provisioned.
268
268
269
-
The following sections demonstrate how to configure identity resources for your durable functions app to access a scheduler and its task hubs.
269
+
The following are the durable task scheduler related roles you can grant to an identity:
270
+
271
+
- **Durable Task Data Contributor**: Role for all data access operations. This role is a superset of all other roles.
272
+
- **Durable Task Worker**: Role used by worker applications to interact with the durable task scheduler. Assign this role if your app is used *only* for processing orchestrations, activities, and entities.
273
+
- **Durable Task Data Reader**: Role to read all durable task scheduler data. Assign this role if you only need listing of orchestrations and entities payloads.
274
+
275
+
> [!NOTE]
276
+
> Most durable functions apps would require the Durable Task Data Contributor role.
277
+
278
+
The sections below demonstrate how to grant permissions to an identity resource and configure your durable functions app to use the identity for access to schedulers and task hubs.
270
279
271
280
### Assign RBAC (role-based access control) to managed identity resource
Copy file name to clipboardExpand all lines: articles/azure-functions/durable/durable-task-scheduler/durable-task-scheduler-dashboard.md
+5-6Lines changed: 5 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,12 +7,11 @@ ms.date: 03/17/2025
7
7
8
8
# Debug and manage orchestrations using the Azure Functions durable task scheduler dashboard (preview)
9
9
10
-
Observe, manage, and debug your task hub or scheduler's orchestations effectively using the durable task scheduler dashboard. Once you [assign the *Durable Task Data Contributor* role to your developer identity](./develop-with-durable-task-scheduler.md#accessing-durable-task-scheduler-dashboard), you can access the dashboard via either:
11
-
- The task hub's dashboard endpoint URL in the Azure portal
12
-
- Navigate to `https://dashboard.durabletask.io/` and your task endpoint to connect to it.
13
-
14
-
> [!NOTE]
15
-
> Ensure [your developer identity (email) has the **Durable Task Data Contributor** role assigned to it](./develop-with-durable-task-scheduler.md#accessing-durable-task-scheduler-dashboard) before accessing the dashboard.
10
+
Observe, manage, and debug your task hub or scheduler's orchestations effectively using the durable task scheduler dashboard. The dashboard is available when you run the [durable task scheduler emulator](./durable-task-scheduler.md#emulator-for-local-development) locally or create a scheduler resource on Azure.
-**Creating a scheduler resource on Azure** requires that you [assign the *Durable Task Data Contributor* role to your identity](./develop-with-durable-task-scheduler.md#accessing-durable-task-scheduler-dashboard). You can then access the dashboard via either:
13
+
- The task hub's dashboard endpoint URL in the Azure portal
14
+
- Navigate to `https://dashboard.durabletask.io/` and your task hub endpoint to connect to it.
16
15
17
16
## Monitor orchestration progress and execution history
description: Learn about the characteristics of the Azure Functions durable task scheduler backend.
4
4
ms.topic: conceptual
5
-
ms.date: 03/05/2025
5
+
ms.date: 03/17/2025
6
6
ms.author: azfuncdf
7
7
author: hhunter-ms
8
8
ms.subservice: durable
@@ -32,13 +32,13 @@ The following diagram shows the architecture of the durable task scheduler backe
32
32
33
33
The durable task scheduler runs in Azure as a separate resource from the app. This separation allows the scheduler to scale independently of the app and provides better isolation between the two components. This isolation is important for several reasons:
34
34
35
-
-**Reduced resource consumption**: BYO storage providers can consume a significant amount of CPU and memory resources. This resource consumption is due to the overhead of managing partitions and other complex state store interactions. By using a managed scheduler instead of a BYO storage provider, your app instances can run more efficiently and with less resource contention.
35
+
-**Reduced resource consumption:** BYO storage providers can consume a significant amount of CPU and memory resources. This resource consumption is due to the overhead of managing partitions and other complex state store interactions. By using a managed scheduler instead of a BYO storage provider, your app instances can run more efficiently and with less resource contention.
36
36
37
-
-**Fault isolation**: Stability or availability issues in the durable task scheduler will not affect the stability or availability of your connected apps. With BYO storage providers, instability in the backend provider (which is a complex component) can create instability in the app logic. By separating the scheduler from the app, you can reduce the risk of cascading failures and improve overall reliability.
37
+
-**Fault isolation:** Stability or availability issues in the durable task scheduler will not affect the stability or availability of your connected apps. With BYO storage providers, instability in the backend provider (which is a complex component) can create instability in the app logic. By separating the scheduler from the app, you can reduce the risk of cascading failures and improve overall reliability.
38
38
39
-
-**Independent scaling**: The scheduler resource can be scaled independently of the app, allowing for better infrastructure resource management and cost optimization. For example, multiple apps can share the same scheduler resource, improving overall resource utilization. This capability is especially useful for organizations with multiple teams or projects that require durable functions.
39
+
-**Independent scaling:** The scheduler resource can be scaled independently of the app, allowing for better infrastructure resource management and cost optimization. For example, multiple apps can share the same scheduler resource, improving overall resource utilization. This capability is especially useful for organizations with multiple teams or projects that require durable functions.
40
40
41
-
-**Improved support experience**: The durable task scheduler is a managed service, which means that Azure can provide better support and diagnostics for issues related to the scheduler. When using a BYO storage provider, you might need to troubleshoot issues related to the backend provider, which can be complex and time-consuming. A managed service allows Azure to take care of the underlying infrastructure and provide a more streamlined support experience.
41
+
-**Improved support experience:** The durable task scheduler is a managed service, which means that Azure can provide better support and diagnostics for issues related to the scheduler. When using a BYO storage provider, you might need to troubleshoot issues related to the backend provider, which can be complex and time-consuming. A managed service allows Azure to take care of the underlying infrastructure and provide a more streamlined support experience.
42
42
43
43
### App connectivity
44
44
@@ -126,17 +126,17 @@ This benchmark showed that the durable task scheduler is roughly **five times fa
126
126
127
127
The *Consumption*, *Flex Consumption*, and *Azure Container App* hosting plans aren't yet supported when using the durable task scheduler.
128
128
129
-
-**Available regions**: Durable task scheduler resources can be created in a subset of Azure regions today. You can run the following command to get a list of the supported regions:
129
+
-**Available regions:** Durable task scheduler resources can be created in a subset of Azure regions today. You can run the following command to get a list of the supported regions:
130
130
131
131
```bash
132
132
az provider show --namespace Microsoft.DurableTask --query "resourceTypes[?resourceType=='schedulers'].locations | [0]" --out table
133
133
```
134
134
135
135
Consider using the same region foryour durable functions app and the durable task scheduler resources. Having these resourcesin different regions might impact performance and limit certain network-related functionality.
136
136
137
-
- **Scheduler quota**: You can currently create up to **five schedulers per region** per subscription.
137
+
- **Scheduler quota:** You can currently create up to **five schedulers per region** per subscription.
138
138
139
-
- **Max payload size**: The durable task scheduler has a maximum payload size restrictions for the following JSON-serialized data types:
139
+
- **Max payload size:** The durable task scheduler has a maximum payload size restrictions for the following JSON-serialized data types:
140
140
141
141
| Data type| Max size |
142
142
| --------- | -------- |
@@ -146,7 +146,7 @@ This benchmark showed that the durable task scheduler is roughly **five times fa
146
146
| Orchestration custom status | 1 MB |
147
147
| Entity state | 1 MB |
148
148
149
-
- **Feature parity**: Some features might not be available in the durable task scheduler backend yet. For example, at the time of writing, the durable task scheduler doesn't support the following features:
149
+
- **Feature parity:** Some features might not be available in the durable task scheduler backend yet. For example, at the time of writing, the durable task scheduler doesn't support the following features:
Copy file name to clipboardExpand all lines: articles/azure-functions/durable/durable-task-scheduler/includes/function-app-integrated-creation.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -23,28 +23,28 @@ author: lilyjma
23
23
| Do you want to deploy code or container image? | Keep the **Code** option selected. |
24
24
| Runtime stack | Select the runtime you're using for this quickstart. |
25
25
| Version | Select your runtimei stack version. |
26
-
| Region | Select [one of the supported regions](../durable-task-scheduler.md). |
26
+
| Region | Select [one of the supported regions](../durable-task-scheduler.md#limitations-and-considerations). |
27
27
| Operating System | Select your operating system. |
28
28
29
29
1. Select the **Durable Functions** tab.
30
30
31
31
1. Choose **Durable Task Scheduler** as the backend provider for your durable functions.
32
32
33
-
1. Create a scheduler resource. This action automatically creates a task hub.
33
+
1. Create a scheduler resource. This action will automatically create a task hub.
34
34
35
35
:::image type="content" source="../media/create-durable-task-scheduler/durable-func-tab.png" alt-text="Screenshot of creating an App Service plan Function app.":::
| Region |Select the same region you selected in the Basics tab for your function app. |
40
+
| Region |It is recommended that the scheduler and function app regions should be the same. |
41
41
| Durable task scheduler | Use the scheduler name offered, or click **Create new** to create a custom name. |
42
-
| Plan |Select the **Dedicated**plan. |
42
+
| Plan |Only **Dedicated**is available at the moment. |
43
43
| Capacity units | Currently, you can only choose one Capacity Unit as an option. |
44
44
45
45
1. Click **Review + create** to review the resource creation.
46
46
47
-
A user-assigned managed identity with the required RBAC role has been created automatically so that the Function app can access durable task scheduler. You can find in the summary view information related to the managed identity resource, such as:
47
+
A user-assigned managed identity with the required RBAC permission will be created automatically so that the Function app can access durable task scheduler. You can find in the summary view information related to the managed identity resource, such as:
48
48
- The RBAC assigned to it (*Durable Task Data Contributor*)
49
49
- The assignment scope (the scheduler or task hub name)
Copy file name to clipboardExpand all lines: articles/azure-functions/durable/durable-task-scheduler/quickstart-durable-task-scheduler.md
+11-7Lines changed: 11 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,7 @@ title: "Quickstart: Set a durable functions app to use Azure Functions durable t
3
3
description: Learn how to configure an existing durable functions app to use Azure Functions durable task scheduler.
4
4
author: lilyjma
5
5
ms.topic: how-to
6
-
ms.date: 03/05/2025
6
+
ms.date: 03/17/2025
7
7
ms.author: jiayma
8
8
ms.reviewer: azfuncdf
9
9
zone_pivot_groups: dts-runtime
@@ -28,7 +28,7 @@ In this quickstart, you configure a durable functions app to use the [durable ta
28
28
## Prerequisites
29
29
30
30
This quickstart assumes you alredy have an Azure Functions project on your local computer with:
31
-
- Durable functions added to your project include:
31
+
- Durable functions added to your project including:
32
32
- An [orchestrator function](../durable-functions-bindings.md#orchestration-trigger).
33
33
- A [client function](../durable-functions-bindings.md#orchestration-client) that triggers the durable functions app.
34
34
- The project configured for local debugging.
@@ -180,7 +180,7 @@ Get the durable task scheduler emulator port number in [the next step](#set-up-d
180
180
181
181
1. Run the application.
182
182
183
-
```sh
183
+
```bash
184
184
func start
185
185
```
186
186
@@ -216,6 +216,8 @@ Get the durable task scheduler emulator port number in [the next step](#set-up-d
216
216
1. Click on the *default* task hub to see its dashboard.
217
217
218
218
> [!NOTE]
219
+
> Learn more about the [durable task scheduler dashboard](./durable-task-scheduler-dashboard.md).
220
+
>
219
221
> The [durable task scheduler emulator](./durable-task-scheduler.md#emulator-for-local-development) stores orchestration data in memory, which means all data is lost when it shuts down.
220
222
>
221
223
> Running into issues testing? [See the troubleshooting guide.](./troubleshoot-durable-task-scheduler.md)
@@ -228,6 +230,8 @@ Create a durable task scheduler instance and Azure Functions app on Azure follow
az functionapp function list --resource-group <RESOURCE_GROUP_NAME> --name <FUNCTION_APP_NAME> --query '[].{Function:name, URL:invokeUrlTemplate}' --output json
249
253
```
250
254
251
255
### Check orchestration status
252
256
253
-
Check the status of the orchestration instance and activity details on the durable task scheduler dashboard. Accessing the dashboard requires you to login. Follow the instructions below to assign the required role to your identity.
257
+
Check the status of the orchestration instance and activity details on the durable task scheduler dashboard. Accessing the dashboard requires you to login. Follow the instructions below to assign the required role-based access control (RBAC) permission to your identity.
0 commit comments