你当前正在访问 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 映像的形式提供。

  1. 拉取包含模拟器的 Docker 映像。

    docker pull mcr.microsoft.com/dts/dts-emulator:latest
    
  2. 运行模拟器。

    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)

  1. 登录到 Azure CLI,并确保已安装最新版。

    az login
    az upgrade
    
  2. 安装 Durable Task Scheduler CLI 扩展。

    az extension add --name durabletask
    
  3. 如果已安装 Durable Task Scheduler CLI 扩展,请升级到最新版本。

    az extension add --upgrade --name durabletask
    

创建计划程序和任务中心

  1. 创建资源组。

    az group create --name YOUR_RESOURCE_GROUP --___location LOCATION
    
  2. 使用 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": {}
    }
    
  3. 创建任务中心。

    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"
    }
    
  1. 在 Azure 门户中,搜索 Durable Task Scheduler 并从结果中选择它。

    在门户中搜索持久任务计划程序的屏幕截图。

  2. 单击“ 创建 ”以打开 “Azure Functions:持久任务计划程序”(预览版) 窗格。

    Durable Task Scheduler 的“创建”页的屏幕截图。

  3. 填写“ 基本信息 ”选项卡中的字段。单击“ 审阅 + 创建”。 通过验证后,单击“创建”。

    部署可能需要大约 15 到 20 分钟。

查看订阅中所有 Durable Task Scheduler(持久任务调度器)资源

  1. 运行以下命令获取订阅中所有计划程序名称的列表。

    az durabletask scheduler list --subscription <SUBSCRIPTION_ID>
    
  2. 可以通过添加 --resource-group 标志将结果缩小到特定资源组的范围。

    az durabletask scheduler list --subscription <SUBSCRIPTION_ID> --resource-group <RESOURCE_GROUP_NAME>
    

在 Azure 门户中,搜索 Durable Task Scheduler 并从结果中选择它。

在门户中搜索持久任务计划程序服务的屏幕截图。

您可以查看在您有权访问的所有订阅中创建的调度器资源列表。

查看 Durable Task Scheduler 中的所有任务中心

  1. 运行以下命令以检索特定调度器中的任务中心列表:

    az durabletask taskhub list --resource-group <RESOURCE_GROUP_NAME> --scheduler-name <SCHEDULER_NAME>
    

可以在 Azure 门户的资源 概述 中查看在计划程序中创建的所有任务中心。

门户中持久任务计划程序概述选项卡的屏幕截图。

删除计划程序和任务中心

  1. 删除调度程序:

    az durabletask scheduler --resource-group YOUR_RESOURCE_GROUP --scheduler-name YOUR_SCHEDULER
    
  2. 删除任务中心:

    az durabletask taskhub delete --resource-group YOUR_RESOURCE_GROUP --scheduler-name YOUR_SCHEDULER --name YOUR_TASKHUB
    
  1. 在 Azure 门户中打开计划程序资源,然后单击“ 删除

    门户中计划程序资源的屏幕截图,其中突出显示了“删除”按钮。

  2. 使用要删除的任务中心查找计划程序,然后单击该任务中心。 单击“ 删除”:

    门户中任务中心资源的屏幕截图,其中突出显示了“删除”按钮。

为应用配置基于标识的身份验证以访问 Durable Task Scheduler

持久任务计划程序 支持 用户分配 的或 系统分配的 托管标识身份验证。 建议使用用户分配的标识, 因为它们未绑定到应用的生命周期,并且可以在取消预配应用后重复使用。

详细了解 Durable Task Scheduler 中基于标识的访问

访问 Durable Task Scheduler(持久任务调度器)仪表板

将所需的角色分配给开发人员标识(电子邮件),以获取对持久任务计划程序仪表板的访问权限。

后续步骤

将持久任务计划程序与 Durable Functions 配合使用:

将持久任务计划程序与持久任务 SDK 配合使用: