你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

使用持久任务计划程序仪表板调试和管理业务流程

Durable Task Scheduler 仪表板允许你观察正在运行的业务流程、检查执行历史记录和活动输入/输出,以及管理业务流程生命周期(暂停、恢复、终止),所有这些都来自浏览器。

仪表板在两个环境中可用:

Environment URL Authentication
本地模拟器 http://localhost:8082 不需要
Azure https://dashboard.durabletask.io/?endpoint=<SCHEDULER_ENDPOINT>&taskhub=<TASK_HUB_NAME> 需要 持久任务数据参与者角色

有关模拟器的详细信息,请参阅 模拟器进行本地开发

在这篇文章中,你将学会如何:

  • 在本地或Azure上访问仪表板。
  • 将持久任务数据参与者角色分配给开发人员标识。
  • 监视业务流程状态、筛选实例和检查执行历史记录。
  • 管理业务流程(暂停、恢复、终止、引发事件)。

先决条件

开始之前:

在本地访问仪表板

如果使用 Durable Task Scheduler 模拟器,仪表板可以在以下地址访问:

http://localhost:8082

本地开发不需要身份验证或角色分配。

分配仪表板访问角色(Azure)

若要访问 Azure 托管的计划程序仪表板,请将 Durable Task Data Contributor 角色分配给您的开发人员身份(电子邮件)。

  1. 将被分配者设置为开发人员标识。

    assignee=$(az ad user show --id "someone@microsoft.com" --query "id" --output tsv)
    
  2. 设置范围。 授予对计划程序范围的访问权限可授予对该计划程序 中的所有 任务中心的访问权限。

    任务中心

    scope="/subscriptions/SUBSCRIPTION_ID/resourceGroups/RESOURCE_GROUP/providers/Microsoft.DurableTask/schedulers/SCHEDULER_NAME/taskHubs/TASK_HUB_NAME"
    

    调度器

    scope="/subscriptions/SUBSCRIPTION_ID/resourceGroups/RESOURCE_GROUP/providers/Microsoft.DurableTask/schedulers/SCHEDULER_NAME"
    
  3. 授予访问权限。 运行以下命令以创建角色分配并授予访问权限。

    az role assignment create \
      --assignee "$assignee" \
      --role "Durable Task Data Contributor" \
      --scope "$scope"
    

    预期输出

    以下输出示例显示了在计划程序级别上分配有持久任务数据参与者角色的开发人员标识:

    {
      "condition": null,
      "conditionVersion": null,
      "createdBy": "YOUR_DEVELOPER_CREDENTIAL_ID",
      "createdOn": "2024-12-20T01:36:45.022356+00:00",
      "delegatedManagedIdentityResourceId": null,
      "description": null,
      "id": "/subscriptions/YOUR_SUBSCRIPTION_ID/resourceGroups/YOUR_RESOURCE_GROUP/providers/Microsoft.DurableTask/schedulers/YOUR_DTS_NAME/providers/Microsoft.Authorization/roleAssignments/ROLE_ASSIGNMENT_ID",
      "name": "ROLE_ASSIGNMENT_ID",
      "principalId": "YOUR_DEVELOPER_CREDENTIAL_ID",
      "principalName": "YOUR_EMAIL",
      "principalType": "User",
      "resourceGroup": "YOUR_RESOURCE_GROUP",
      "roleDefinitionId": "/subscriptions/YOUR_SUBSCRIPTION/providers/Microsoft.Authorization/roleDefinitions/ROLE_DEFINITION_ID",
      "roleDefinitionName": "Durable Task Data Contributor",
      "scope": "/subscriptions/YOUR_SUBSCRIPTION/resourceGroups/YOUR_RESOURCE_GROUP/providers/Microsoft.DurableTask/schedulers/YOUR_DTS_NAME",
      "type": "Microsoft.Authorization/roleAssignments",
      "updatedBy": "YOUR_DEVELOPER_CREDENTIAL_ID",
      "updatedOn": "2024-12-20T01:36:45.022356+00:00"
    }
    
  4. 授予访问权限后,在以下位置打开仪表板:

    https://dashboard.durabletask.io/?endpoint=<SCHEDULER_ENDPOINT>&taskhub=<TASK_HUB_NAME>
    

    <SCHEDULER_ENDPOINT> 替换为计划程序的终结点(例如 https://myscheduler.westus2.durabletask.io),并将 <TASK_HUB_NAME> 替换为您的任务中心的名称。

    或者,请导航到 https://dashboard.durabletask.io/,然后在连接表单中输入计划程序终结点和任务中心名称。

注释

以下说明展示了针对特定任务中心的角色分配。 如果需要在计划程序中访问所有任务集线器,请在计划程序级别上执行分配。

  1. 导航到门户上的持久任务计划程序资源。

  2. 单击任务中心名称。

  3. 在左侧菜单中,选择“访问控制(IAM)”。

  4. 单击“ 添加” 以添加角色分配。

    在门户中的“访问控制”窗格中添加角色分配的屏幕截图。

  5. 搜索并选择“持久任务数据参与者”。 单击 “下一步”

    在门户中选择“持久任务数据参与者”角色分配的屏幕截图。

  6. 在“成员”选项卡中,对于“将访问权限分配给”,请选择“用户、组或服务主体”

  7. 对于“成员”,单击“+ 选择成员”

  8. “选择成员 ”窗格中,搜索姓名或电子邮件:

    在门户中选择用户分配的托管标识类型的屏幕截图。

  9. 选择电子邮件并单击 “选择 ”按钮。

  10. 单击“ 查看 + 分配 ”完成角色分配。

  11. 分配角色后,单击任务中心资源的左侧菜单中的 “概述 ”,并导航到位于“ Essentials ”顶部的仪表板 URL。

通过仪表板监视任务中心

使用仪表板可以监视业务流程进度并查看执行历史记录。 在仪表板主页中,可以找到任务中心的业务流程、实体、计划、辅助角色和指标以及 AI 代理(目前为预览版)。

“业务流程概述”窗格

点击任务中心名称或侧边菜单中的 业务流程,即可查看业务流程。

仪表板主页截图,包含指向任务中心、编排历史记录、实体、计划任务、工作程序、指标和 AI 代理的链接。

“业务流程 概述”窗格中,可以:

  • 查看编排实例列表。
  • 通过搜索栏或筛选器缩小业务流程范围。
  • 创建新的编排。
  • 将可共享链接复制到仪表板。
  • 设置编排列表的自动刷新间隔。

仪表板的屏幕截图,其中列出了业务流程。

编排信息显示了以下默认列。

Category 说明
实例 ID 按其唯一 ID 搜索特定编排实例。
名称 按编排类型名称筛选。
状态 按运行状态(正在运行、已完成、失败、已终止、待处理、已挂起)进行筛选。
标签 按应用到编排实例的标记进行筛选。
已创建 编排的创建日期和时间。

您可以使用以下条件筛选编排列表。

仪表板的屏幕截图,其中列出了包含筛选器选项的业务流程历史记录和状态。

Category 说明
业务流程名称 按编排类型名称筛选。
运行时状态 按运行状态(正在运行、已完成、失败、已终止、待处理、已挂起)进行筛选。
标签筛选器 按标签键值搜索编排。
创建自/创建至 将结果缩小到时间范围。

通过以下方式触发刷新编排列表:

  • 单击刷新图标进行手动刷新。

  • 切换 “自动 ”并选择间隔以自动刷新列表。

    自动刷新开关和手动刷新图标的屏幕截图。

创建新的编排

您可以从 Durable Task Scheduler 仪表板中新建编排。

  1. “业务流程 概述”窗格中,单击“ + 新建业务流程”。

  2. 填写 “新建业务流程 ”表单中的信息。

    “新建编排”表单的屏幕截图。

    领域 说明
    业务流程名称 从下拉列表中选择业务流程,或键入自定义业务流程名称。
    实例 ID 可选。 自动生成实例 ID。 无论你自己创建一个 ID 还是让它自动生成,实例 ID 都采用 ASCII 格式。
    版本 可选。 输入适用的版本号。
    输入 可选。 以 JSON 格式输入。
    预定开始 可选。 选择编排的开始日期和时间。
    标签 可选。 输入与编排关联的键和/或值标签。
  3. 单击“创建”。

    您可以在列表中看到您新建的编排。

编排详细信息

单击业务流程实例来诊断问题或了解业务流程的状态。

使用 时间线历史记录 选项卡查看其执行详细信息和活动进度。 默认情况下,“时间线”选项卡处于打开状态。

  • 时间线选项卡显示正在运行的编排的各个时间段。

    业务流程执行时间线的屏幕截图。

    选择活动以查看其输入和输出。

    可在其中查看活动的输入、输出和状态的窗格的屏幕截图。

  • 历史记录选项卡提供编排中所有事件的动态列表,并附有时间戳。

    仪表板的屏幕截图,其中显示了单个业务流程的事件历史记录。

  • “流”选项卡直观地绘制业务流程的执行流。

    单个业务流程的事件流的屏幕截图。

    还可以通过单击“ 视图”来查看活动的输入和输出。

    可以通过流视图查看活动的输入、输出和状态的窗格的屏幕截图。

管理编排

您可以通过仪表板管理编排生命周期。 在 业务流程协调 窗格中,选择一个实例 ID,即可执行以下操作:

仪表板的屏幕截图,其中显示了用于管理业务流程的“清除”、“重启”、“终止”、“挂起”和“恢复”按钮。

  • 恢复: 继续以前挂起的业务流程。
  • 暂停: 暂停正在运行的编排。 它保留在内存中,但会停止处理事件,直到恢复。
  • 重新 启动: 重启以前运行的业务流程。
  • 终止: 使用可选原因字符串立即停止业务流程。
  • 清除: 清除业务流程协调实例。

深入查看单个编排以访问 引发事件 操作。 此操作会将一个指定名称的外部事件(可附带 JSON 负载)发送到正在运行或已挂起的协调流程。

仪表板的屏幕截图,其中显示了用于管理业务流程的“清除”、“重启”、“终止”和“引发事件”按钮。

实体

从左侧菜单中选择 “实体 ”以查看创建的实体。

你创建的实体及其一些管理工具的屏幕截图。

单击列表中的单个实体以查看其详细信息。 可在此处查看:

  • 上次修改时间
  • 运行最后一个操作时
  • 它是否被锁定,以及谁锁定了它
  • 其积压量
  • JSON 或原始代码中的实体状态

Durable Task Scheduler 仪表板中正在跟踪的单个实体的截图。

还可以向实体发送信号。 单击右上角的 Signal 并创建信号消息。

用于向单个实体发送信号的窗口的屏幕截图。

代理(预览版)

注释

通过 Durable Task Scheduler 仪表板查看代理会话目前处于预览状态。

从左侧菜单中选择 “代理 ”,监视计划程序中应用程序触发的代理会话。 点击进入代理会话以查看您的令牌使用数据,例如:

  • 已使用的提示令牌数。
  • 已使用的完成令牌数。
  • 代理会话期间使用的令牌总数。

还可以查看代理聊天历史记录和时间线。

应用程序触发的代理会话的屏幕截图。

附表

从左侧菜单中选择 “计划 ”以查看创建的计划。 在“计划”窗格中,可以暂停、恢复或删除计划。 还可以单击“ + 创建计划 ”,通过仪表板 UI 创建计划。

你创建的计划及其一些管理工具的屏幕截图。

工作进程和指标

从左侧菜单中选择工作人员和指标以查看:

  • 所有处于挂起、活动中或已存储状态的活动、协调程序和实体。
  • 互联员工

工作项队列和已连接工作器概览的屏幕截图。

后续步骤

对于 Durable Functions 的持久任务计划程序:

对于持久任务 SDK 的持久任务计划程序: