你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Durable Task Scheduler 是 Durable Functions 的高性能的、完全托管的后端提供程序,具有 开箱即用的监控仪表板。 Azure 提供了两个面向开发人员的业务流程框架,可与 Durable Functions 配合使用来生成应用:Durable Task SDK 和 Durable Functions。
在本文中,您将学习如何:
- 运行 Durable Task Scheduler 模拟器
- 对计划程序和任务中心执行 CRUD 操作。
持久任务调度器模拟器
持久任务调度程序模拟器目前仅以 Docker 映像的形式提供。
拉取包含模拟器的 Docker 映像。
docker pull mcr.microsoft.com/dts/dts-emulator:latest
运行模拟器。
docker run -itP mcr.microsoft.com/dts/dts-emulator:latest
此命令公开一个名为
default
的任务中心。 如果需要多个任务中心,可以将容器上的环境变量DTS_TASK_HUB_NAMES
设置为以逗号分隔的任务中心名称列表,如以下命令所示:docker run -itP -e DTS_TASK_HUB_NAMES=taskhub1,taskhub2,taskhub3 mcr.microsoft.com/dts/dts-emulator:latest
先决条件
设置命令行界面(CLI)
登录到 Azure CLI,并确保已安装最新版。
az login az upgrade
安装 Durable Task Scheduler CLI 扩展。
az extension add --name durabletask
如果已安装 Durable Task Scheduler CLI 扩展,请升级到最新版本。
az extension add --upgrade --name durabletask
创建计划程序和任务中心
创建资源组。
az group create --name YOUR_RESOURCE_GROUP --___location LOCATION
使用
durabletask
CLI 扩展创建计划程序。az durabletask scheduler create --name "YOUR_SCHEDULER" --resource-group "YOUR_RESOURCE_GROUP" --___location "LOCATION" --ip-allowlist "[0.0.0.0/0]" --sku-name "dedicated" --sku-capacity "1"
创建过程可能需要长达 15 分钟才能完成。
输出
{ "id": "/subscriptions/YOUR_SUBSCRIPTION_ID/resourceGroups/YOUR_RESOURCE_GROUP/providers/Microsoft.DurableTask/schedulers/YOUR_SCHEDULER", "___location": "northcentralus", "name": "YOUR_SCHEDULER", "properties": { "endpoint": "https://YOUR_SCHEDULER.northcentralus.durabletask.io", "ipAllowlist": [ "0.0.0.0/0" ], "provisioningState": "Succeeded", "sku": { "capacity": 1, "name": "Dedicated", "redundancyState": "None" } }, "resourceGroup": "YOUR_RESOURCE_GROUP", "systemData": { "createdAt": "2025-01-06T21:22:59Z", "createdBy": "YOUR_EMAIL@example.com", "createdByType": "User", "lastModifiedAt": "2025-01-06T21:22:59Z", "lastModifiedBy": "YOUR_EMAIL@example.com", "lastModifiedByType": "User" }, "tags": {} }
创建任务中心。
az durabletask taskhub create --resource-group YOUR_RESOURCE_GROUP --scheduler-name YOUR_SCHEDULER --name YOUR_TASKHUB
输出
{ "id": "/subscriptions/YOUR_SUBSCRIPTION_ID/resourceGroups/YOUR_RESOURCE_GROUP/providers/Microsoft.DurableTask/schedulers/YOUR_SCHEDULERS/taskHubs/YOUR_TASKHUB", "name": "YOUR_TASKHUB", "properties": { "provisioningState": "Succeeded" }, "resourceGroup": "YOUR_RESOURCE_GROUP", "systemData": { "createdAt": "2024-09-18T22:13:56.5467094Z", "createdBy": "OBJECT_ID", "createdByType": "User", "lastModifiedAt": "2024-09-18T22:13:56.5467094Z", "lastModifiedBy": "OBJECT_ID", "lastModifiedByType": "User" }, "type": "microsoft.durabletask/scheduler/taskhubs" }
在 Azure 门户中,搜索 Durable Task Scheduler 并从结果中选择它。
单击“ 创建 ”以打开 “Azure Functions:持久任务计划程序”(预览版) 窗格。
填写“ 基本信息 ”选项卡中的字段。单击“ 审阅 + 创建”。 通过验证后,单击“创建”。
部署可能需要大约 15 到 20 分钟。
查看订阅中所有 Durable Task Scheduler(持久任务调度器)资源
运行以下命令获取订阅中所有计划程序名称的列表。
az durabletask scheduler list --subscription <SUBSCRIPTION_ID>
可以通过添加
--resource-group
标志将结果缩小到特定资源组的范围。az durabletask scheduler list --subscription <SUBSCRIPTION_ID> --resource-group <RESOURCE_GROUP_NAME>
在 Azure 门户中,搜索 Durable Task Scheduler 并从结果中选择它。
您可以查看在您有权访问的所有订阅中创建的调度器资源列表。
查看 Durable Task Scheduler 中的所有任务中心
运行以下命令以检索特定调度器中的任务中心列表:
az durabletask taskhub list --resource-group <RESOURCE_GROUP_NAME> --scheduler-name <SCHEDULER_NAME>
可以在 Azure 门户的资源 概述 中查看在计划程序中创建的所有任务中心。
删除计划程序和任务中心
删除调度程序:
az durabletask scheduler --resource-group YOUR_RESOURCE_GROUP --scheduler-name YOUR_SCHEDULER
删除任务中心:
az durabletask taskhub delete --resource-group YOUR_RESOURCE_GROUP --scheduler-name YOUR_SCHEDULER --name YOUR_TASKHUB
在 Azure 门户中打开计划程序资源,然后单击“ 删除:
使用要删除的任务中心查找计划程序,然后单击该任务中心。 单击“ 删除”:
为应用配置基于标识的身份验证以访问 Durable Task Scheduler
持久任务计划程序 仅 支持 用户分配 的或 系统分配的 托管标识身份验证。 建议使用用户分配的标识, 因为它们未绑定到应用的生命周期,并且可以在取消预配应用后重复使用。
详细了解 Durable Task Scheduler 中基于标识的访问。
访问 Durable Task Scheduler(持久任务调度器)仪表板
将所需的角色分配给开发人员标识(电子邮件),以获取对持久任务计划程序仪表板的访问权限。
后续步骤
将持久任务计划程序与 Durable Functions 配合使用:
将持久任务计划程序与持久任务 SDK 配合使用: