Skip to content

Commit 5a06fc3

Browse files
Merge pull request #299637 from MicrosoftDocs/main
Merged by Learn.Build PR Management system
2 parents ceb3c0e + 820cdc2 commit 5a06fc3

File tree

66 files changed

+1076
-377
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

66 files changed

+1076
-377
lines changed

.openpublishing.redirection.json

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -227,7 +227,7 @@
227227
},
228228
{
229229
"source_path": "articles/databox-online/azure-stack-edge-2301-release-notes.md",
230-
"redirect_url": "/previous-versions/azure/databox-online/azure-stack-edge-2301-release-notes",
230+
"redirect_url": "/previous-versions/azure/databox-online/azure-stack-edge-2301-release-notes"
231231
},
232232
{
233233
"source_path": "articles/network-watcher/nsg-flow-logs-rest.md",
@@ -2393,7 +2393,7 @@
23932393
"source_path_from_root": "/articles/app-service/manage-disaster-recovery.md",
23942394
"redirect_url": "/azure/architecture/web-apps/guides/multi-region-app-service/multi-region-app-service",
23952395
"redirect_document_id": false
2396-
},
2396+
},
23972397
{
23982398
"source_path_from_root": "/articles/public-multi-access-edge-compute-mec/tutorial-create-vm-using-python-sdk.md",
23992399
"redirect_url": "/previous-versions/azure/public-multi-access-edge-compute-mec/tutorial-create-vm-using-python-sdk",
@@ -6875,49 +6875,49 @@
68756875
"redirect_document_id": false
68766876
},
68776877
{
6878-
"source_path": "articles/storage/files/storage-files-enable-soft-delete.md",
6878+
"source_path": "articles/storage/files/storage-files-enable-soft-delete.md",
68796879
"redirect_url": "/azure/storage/files/storage-files-prevent-file-share-deletion",
68806880
"redirect_document_id": false
6881-
},
6882-
{
6881+
},
6882+
{
68836883
"source_path": "articles/defender-for-iot/organizations/release-notes-archive.md",
68846884
"redirect_url": "/azure/defender-for-iot/organizations/release-notes-ot-monitoring-sensor-archive",
6885-
"redirect_document_id": false
6886-
},
6887-
{
6885+
"redirect_document_id": false
6886+
},
6887+
{
68886888
"source_path": "articles/nat-gateway/quickstart-create-nat-gateway-portal.md",
68896889
"redirect_url": "/azure/nat-gateway/quickstart-create-nat-gateway",
6890-
"redirect_document_id": false
6891-
},
6892-
{
6890+
"redirect_document_id": false
6891+
},
6892+
{
68936893
"source_path": "articles/nat-gateway/quickstart-create-nat-gateway-powershell.md",
68946894
"redirect_url": "/azure/nat-gateway/quickstart-create-nat-gateway",
6895-
"redirect_document_id": false
6896-
},
6897-
{
6895+
"redirect_document_id": false
6896+
},
6897+
{
68986898
"source_path": "articles/nat-gateway/quickstart-create-nat-gateway-cli.md",
68996899
"redirect_url": "/azure/nat-gateway/quickstart-create-nat-gateway",
6900-
"redirect_document_id": false
6901-
},
6902-
{
6900+
"redirect_document_id": false
6901+
},
6902+
{
69036903
"source_path": "articles/nat-gateway/quickstart-create-nat-gateway-template.md",
69046904
"redirect_url": "/azure/nat-gateway/quickstart-create-nat-gateway",
6905-
"redirect_document_id": false
6906-
},
6907-
{
6905+
"redirect_document_id": false
6906+
},
6907+
{
69086908
"source_path": "articles/nat-gateway/quickstart-create-nat-gateway-terraform.md",
69096909
"redirect_url": "/azure/nat-gateway/quickstart-create-nat-gateway",
6910-
"redirect_document_id": false
6911-
},
6912-
{
6910+
"redirect_document_id": false
6911+
},
6912+
{
69136913
"source_path": "articles/nat-gateway/quickstart-create-nat-gateway-bicep.md",
69146914
"redirect_url": "/azure/nat-gateway/quickstart-create-nat-gateway",
6915-
"redirect_document_id": false
6916-
},
6917-
{
6915+
"redirect_document_id": false
6916+
},
6917+
{
69186918
"source_path": "articles/defender-for-iot/organizations/eiot-sensor.md",
69196919
"redirect_url": "/azure/defender-for-iot/organizations/concept-enterprise",
69206920
"redirect_document_id": false
69216921
}
69226922
]
6923-
}
6923+
}

articles/azure-functions/durable/TOC.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@
116116
href: ./durable-task-scheduler/durable-task-scheduler.md
117117
- name: Choosing an orchestration framework
118118
href: ./durable-task-scheduler/choose-orchestration-framework.md
119-
- name: Create Durable Task Scheduler resources
119+
- name: Develop with Durable Task Scheduler
120120
href: ./durable-task-scheduler/develop-with-durable-task-scheduler.md
121121
- name: Identity
122122
href: ./durable-task-scheduler/durable-task-scheduler-identity.md

articles/azure-functions/durable/durable-task-scheduler/develop-with-durable-task-scheduler-functions.md

Lines changed: 3 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -17,60 +17,13 @@ The Azure Functions Durable Task Scheduler is a highly performant, fully managed
1717
Learn more about Durable Task Scheduler [features](./durable-task-scheduler.md#feature-highlights), [supported regions](./durable-task-scheduler.md#limitations-and-considerations), and [plans](./durable-task-scheduler.md#limitations-and-considerations).
1818

1919
## Create a scheduler and task hub
20-
21-
You can create a scheduler and task hub on Azure portal via two ways:
22-
- **Function app integrated creation:** *(recommended)* automatically creates the managed identity resource and RBAC assignment, plus configures required environment variables for your app to access Durable Task Scheduler.
23-
- **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.
20+
You can create a scheduler and a task hub as part of the Function app creation on Azure portal. This creation approach automatically configures identity-based authentication for the app to access the task hub.
2421

2522
> [!NOTE]
2623
> 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.
2724
28-
# [Function app integrated creation](#tab/function-app-integrated-creation)
29-
30-
You can create a scheduler and a task hub as part of the Function app creation on Azure portal.
31-
3225
[!INCLUDE [function-app-integrated-creation](./includes/function-app-integrated-creation.md)]
3326

34-
# [Top-level creation](#tab/top-level-creation)
35-
36-
1. In the Azure portal, search for **Durable Task Scheduler** and select it from the results.
37-
38-
:::image type="content" source="media/create-durable-task-scheduler/search-for-durable-task-scheduler.png" alt-text="Screenshot of searching for the Durable Task Scheduler in the portal.":::
39-
40-
1. Click **Create** to open the **Azure Functions: Durable Task Scheduler (preview)** pane.
41-
42-
:::image type="content" source="media/create-durable-task-scheduler/top-level-create-form.png" alt-text="Screenshot of the create page for the Durable Task Scheduler.":::
43-
44-
1. Fill out the fields in the **Basics** tab. Click **Review + create**. Once the validation passes, click **Create**.
45-
46-
Deployment may take around 15 to 20 minutes.
47-
48-
---
49-
50-
## View all Durable Task Scheduler resources in a subscription
51-
52-
In the Azure portal, search for **Durable Task Scheduler** and select it from the results.
53-
54-
:::image type="content" source="media/create-durable-task-scheduler/search-for-durable-task-scheduler.png" alt-text="Screenshot of searching for the Durable Task Scheduler service in the portal.":::
55-
56-
You can see the list of scheduler resources created in all subscriptions you have access to.
57-
58-
## View all task hubs in a Durable Task Scheduler
59-
60-
You can see all the task hubs created in a scheduler on the **Overview** of the resource on Azure portal.
61-
62-
:::image type="content" source="media/create-durable-task-scheduler/durable-task-scheduler-overview-portal.png" alt-text="Screenshot of overview tab of Durable Task Scheduler in the portal.":::
63-
64-
## Delete the scheduler and task hub
65-
66-
1. Open the scheduler resource on Azure portal and click **Delete**:
67-
68-
:::image type="content" source="media/create-durable-task-scheduler/durable-task-scheduler-delete-portal.png" alt-text="Screenshot of scheduler resource in the portal highlighting delete button.":::
69-
70-
1. Find the scheduler with the task hub you want to delete, then click into that task hub. Click **Delete**:
71-
72-
:::image type="content" source="media/create-durable-task-scheduler/task-hub-delete-portal.png" alt-text="Screenshot of task hub resource in the portal highlighting delete button.":::
73-
7427
## Configure identity-based authentication for app to access Durable Task Scheduler
7528

7629
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 deprovisioned.
@@ -109,6 +62,8 @@ az resource update -g <resource_group> -n <function_app_name>/config/web --set p
10962

11063
Currently, migrating across providers isn't supported. Function apps that have existing runtime data need to start with a fresh, empty task hub after they switch to the Durable Task Scheduler. Similarly, the task hub contents that are created by using the scheduler resource can't be preserved if you switch to a different backend provider.
11164

65+
- **[Management operations using the Azure Functions Core Tools](../durable-functions-instance-management.md#azure-functions-core-tools)**
66+
11267
## Next steps
11368

11469
> [!div class="nextstepaction"]

articles/azure-functions/durable/durable-task-scheduler/develop-with-durable-task-scheduler.md

Lines changed: 94 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -3,23 +3,44 @@ title: Develop with Durable Task Scheduler (preview)
33
description: Learn how to develop with the Durable Task Scheduler using the Azure CLI for both Durable Functions and Durable Task Scheduler.
44
ms.topic: how-to
55
ms.date: 05/06/2025
6+
zone_pivot_groups: dts-devexp
67
---
78

89
# Develop with Durable Task Scheduler (preview)
910

1011
The Durable Task Scheduler is a highly performant, fully managed backend provider for Durable Functions with an [out-of-the-box monitoring dashboard](./durable-task-scheduler-dashboard.md). Azure offers two developer-oriented orchestration frameworks that work with Durable Functions to build apps: Durable Task SDKs and Durable Functions.
1112

12-
In this article, you use the Azure CLI and the Durable Task extension to:
13+
In this article, you learn to:
1314

1415
> [!div class="checklist"]
15-
> * Create a scheduler and task hub.
16-
> * Configure identity-based authentication for your application to access Durable Task Scheduler.
17-
> * Monitor the status of your app and task hub on the Durable Task Scheduler dashboard.
16+
> * Run the Durable Task Scheduler emulator
17+
> * Perform CRUD operations on a scheduler and task hub.
1818
1919
Learn more about Durable Task Scheduler [features](./durable-task-scheduler.md#feature-highlights), [supported regions](./durable-task-scheduler.md#limitations-and-considerations), and [plans](./durable-task-scheduler.md#limitations-and-considerations).
2020

21-
> [!NOTE]
22-
> Durable Task Scheduler currently supports apps hosted in the **App Service** and **Functions Premium** plans only.
21+
## Durable Task Scheduler emulator
22+
23+
The Durable Task Scheduler emulator is only available as a Docker image today.
24+
25+
1. Pull the docker image containing the emulator.
26+
27+
```bash
28+
docker pull mcr.microsoft.com/dts/dts-emulator:latest
29+
```
30+
31+
1. Run the emulator.
32+
33+
```bash
34+
docker run -itP mcr.microsoft.com/dts/dts-emulator:latest
35+
```
36+
37+
This command 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 in the following command:
38+
39+
```bash
40+
docker run -itP -e DTS_TASK_HUB_NAMES=taskhub1,taskhub2,taskhub3 mcr.microsoft.com/dts/dts-emulator:latest
41+
```
42+
43+
::: zone pivot="az-cli"
2344

2445
## Prerequisites
2546

@@ -45,29 +66,11 @@ Learn more about Durable Task Scheduler [features](./durable-task-scheduler.md#f
4566
```azurecli
4667
az extension add --upgrade --name durabletask
4768
```
48-
49-
## Run the Durable Task emulator
50-
51-
1. Pull the docker image containing the emulator.
52-
53-
```bash
54-
docker pull mcr.microsoft.com/dts/dts-emulator:latest
55-
```
56-
57-
1. Run the emulator.
58-
59-
```bash
60-
docker run -itP mcr.microsoft.com/dts/dts-emulator:latest
61-
```
62-
63-
This command 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 in the following command:
64-
65-
```bash
66-
docker run -itP -e DTS_TASK_HUB_NAMES=taskhub1,taskhub2,taskhub3 mcr.microsoft.com/dts/dts-emulator:latest
67-
```
69+
::: zone-end
6870

6971
## Create a scheduler and task hub
7072

73+
::: zone pivot="az-cli"
7174
1. Create a resource group.
7275

7376
```azurecli
@@ -141,9 +144,28 @@ Learn more about Durable Task Scheduler [features](./durable-task-scheduler.md#f
141144
"type": "microsoft.durabletask/scheduler/taskhubs"
142145
}
143146
```
147+
::: zone-end
148+
149+
::: zone pivot="az-portal"
150+
151+
1. In the Azure portal, search for **Durable Task Scheduler** and select it from the results.
152+
153+
:::image type="content" source="media/create-durable-task-scheduler/search-for-durable-task-scheduler.png" alt-text="Screenshot of searching for the Durable Task Scheduler in the portal.":::
154+
155+
1. Click **Create** to open the **Azure Functions: Durable Task Scheduler (preview)** pane.
156+
157+
:::image type="content" source="media/create-durable-task-scheduler/top-level-create-form.png" alt-text="Screenshot of the create page for the Durable Task Scheduler.":::
158+
159+
1. Fill out the fields in the **Basics** tab. Click **Review + create**. Once the validation passes, click **Create**.
160+
161+
Deployment may take around 15 to 20 minutes.
162+
163+
::: zone-end
144164

145165
## View all Durable Task Scheduler resources in a subscription
146166

167+
::: zone pivot="az-cli"
168+
147169
1. Get a list of all scheduler names within a subscription by running the following command.
148170

149171
```azurecli
@@ -155,17 +177,41 @@ Learn more about Durable Task Scheduler [features](./durable-task-scheduler.md#f
155177
```azurecli
156178
az durabletask scheduler list --subscription <SUBSCRIPTION_ID> --resource-group <RESOURCE_GROUP_NAME>
157179
```
180+
::: zone-end
181+
182+
::: zone pivot="az-portal"
183+
184+
In the Azure portal, search for **Durable Task Scheduler** and select it from the results.
185+
186+
:::image type="content" source="media/create-durable-task-scheduler/search-for-durable-task-scheduler.png" alt-text="Screenshot of searching for the Durable Task Scheduler service in the portal.":::
187+
188+
You can see the list of scheduler resources created in all subscriptions you have access to.
189+
190+
::: zone-end
158191

159192
## View all task hubs in a Durable Task Scheduler
160193

161-
Retrieve a list of task hubs in a specific scheduler by running:
194+
::: zone pivot="az-cli"
195+
196+
1. Retrieve a list of task hubs in a specific scheduler by running:
197+
198+
```azurecli
199+
az durabletask taskhub list --resource-group <RESOURCE_GROUP_NAME> --scheduler-name <SCHEDULER_NAME>
200+
```
201+
::: zone-end
202+
203+
::: zone pivot="az-portal"
204+
205+
You can see all the task hubs created in a scheduler on the **Overview** of the resource on Azure portal.
206+
207+
:::image type="content" source="media/create-durable-task-scheduler/durable-task-scheduler-overview-portal.png" alt-text="Screenshot of overview tab of Durable Task Scheduler in the portal.":::
162208

163-
```azurecli
164-
az durabletask taskhub list --resource-group <RESOURCE_GROUP_NAME> --scheduler-name <SCHEDULER_NAME>
165-
```
209+
::: zone-end
166210

167211
## Delete the scheduler and task hub
168212

213+
::: zone pivot="az-cli"
214+
169215
1. Delete the scheduler:
170216

171217
```azurecli
@@ -177,22 +223,36 @@ az durabletask taskhub list --resource-group <RESOURCE_GROUP_NAME> --scheduler-n
177223
```azurecli
178224
az durabletask taskhub delete --resource-group YOUR_RESOURCE_GROUP --scheduler-name YOUR_SCHEDULER --name YOUR_TASKHUB
179225
```
226+
::: zone-end
227+
228+
::: zone pivot="az-portal"
229+
230+
1. Open the scheduler resource on Azure portal and click **Delete**:
231+
232+
:::image type="content" source="media/create-durable-task-scheduler/durable-task-scheduler-delete-portal.png" alt-text="Screenshot of scheduler resource in the portal highlighting delete button.":::
233+
234+
1. Find the scheduler with the task hub you want to delete, then click into that task hub. Click **Delete**:
235+
236+
:::image type="content" source="media/create-durable-task-scheduler/task-hub-delete-portal.png" alt-text="Screenshot of task hub resource in the portal highlighting delete button.":::
237+
238+
::: zone-end
239+
180240

181241
## Configure identity-based authentication for app to access Durable Task Scheduler
182242

183243
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 deprovisioned.
184244
185-
If you haven't already, [configure managed identity for your Durable Functions app](./durable-task-scheduler-identity.md).
245+
Learn more about [identity-based access in Durable Task Scheduler](./durable-task-scheduler-identity.md).
186246
187247
## Access the Durable Task Scheduler dashboard
188248
189-
[Assign the required role to your *developer identity (email)*](./durable-task-scheduler-dashboard.md#access-the-durable-task-scheduler-dashboard) to gain access to the Durable Task Scheduler dashboard.
249+
[Assign the required role to your *developer identity (email)*](./durable-task-scheduler-dashboard.md) to gain access to the Durable Task Scheduler dashboard.
190250
191251
## Next steps
192252
193-
For Durable Task Scheduler for Durable Functions:
253+
For using Durable Task Scheduler with Durable Functions:
194254
- [Quickstart: Configure a Durable Functions app to use Azure Functions Durable Task Scheduler](./quickstart-durable-task-scheduler.md)
195255
196-
For Durable Task Scheduler for the Durable Task SDKs:
256+
For using Durable Task Scheduler with the Durable Task SDKs:
197257
- [Quickstart: Create an app with Durable Task SDKs and Durable Task Scheduler](./quickstart-portable-durable-task-sdks.md)
198258
- [Quickstart: Host a Durable Task SDK app on Azure Container Apps](./quickstart-container-apps-durable-task-sdk.md)

articles/azure-functions/durable/durable-task-scheduler/durable-task-scheduler.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ curl -s https://mcr.microsoft.com/v2/dts/dts-emulator/tags/list
120120

121121
### Autopurge retention policies
122122

123-
Large volumes of completed orchestration instance data can lead to storage bloat, incur higher storage costs, and degrade performance. The autopurge feature for Durable Task Scheduler provides a streamlined, configurable solution to manage orchestration instance clean-up automatically. [Learn more about setting autopurge retention policies for Durable Task Scheduler.](./durable-task-scheduler-auto-purge.md)
123+
Stale orchestration data should be purged periodically to ensure efficient storage usage. The autopurge feature for Durable Task Scheduler provides a streamlined, configurable solution to manage orchestration instance clean-up automatically. [Learn more about setting autopurge retention policies for Durable Task Scheduler.](./durable-task-scheduler-auto-purge.md)
124124

125125
## Limitations and considerations
126126

@@ -156,10 +156,9 @@ Large volumes of completed orchestration instance data can lead to storage bloat
156156

157157
- [Orchestration rewind](../durable-functions-instance-management.md#rewind-instances-preview)
158158
- [Extended sessions](../durable-functions-azure-storage-provider.md#extended-sessions)
159-
- [Management operations using the Azure Functions Core Tools](../durable-functions-instance-management.md#azure-functions-core-tools)
160159

161160
> [!NOTE]
162-
> Feature availability is subject to change as the Durable Task Scheduler backend approaches general availability. To report problems or request new features, submit an issue in the [Durable Task Scheduler samples GitHub repository](https://github.com/Azure-Samples/Durable-Task-Scheduler/).
161+
> Feature availability is subject to change as the Durable Task Scheduler backend approaches general availability. To report problems or request new features, submit an issue in the [Durable Task Scheduler GitHub repository](https://github.com/azure/Durable-Task-Scheduler).
163162

164163
## Next steps
165164

0 commit comments

Comments
 (0)