使用 Azure Functions Durable Task Scheduler 仪表板调试和管理业务流程(预览版)

使用持久任务计划程序仪表板观察、管理和调试你的任务中心或计划程序的业务流程。 在本地运行 Durable Task Scheduler 模拟器 或在 Azure 上创建计划程序资源时,可以使用仪表板。

在本地运行模拟器不需要身份验证。

在 Azure 上创建计划程序资源需要将“持久任务数据参与者角色”分配给你的身份。 然后,可以通过以下任一方式访问仪表板:

  • Azure 门户中任务中心仪表板终结点的 URL
  • 请导航到 https://dashboard.durabletask.io/,以与你的任务中心终结点结合使用。

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

  • 将其中一个持久任务角色分配给开发人员标识。
  • 访问 Durable Task Scheduler 仪表板。
  • 通过 Durable Task Scheduler 仪表板查看业务流程状态和历史记录。

先决条件

开始之前:

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

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

  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/,填写调度程序和任务中心的相关信息以查看仪表板。

注释

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

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

  2. 单击任务中心名称。

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

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

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

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

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

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

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

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

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

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

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

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

监控编排进度和执行历史

使用仪表板可以监视业务流程进度并查看执行历史记录。 还可以按业务流程元数据(如状态和时间戳)进行筛选。

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

查看编排输入和输出:

仪表板的屏幕截图,其中列出了业务流程历史记录和状态输入和输出。

业务流程执行的详细视图

你可以深入了解业务流程实例以查看执行的详细信息和活动进度。 此视图可帮助你诊断问题或了解业务流程的状态。

下图是业务流程执行的“时间轴”视图。 在此“ProcessDocument”业务流程中,“WriteDoc”活动重试了三次(均失败),每次重试间隔五秒钟。

显示业务流程执行时间线的仪表板的屏幕截图。

你还可以在业务流程中查看活动的输入和输出。

显示活动输入和输出的仪表板的屏幕截图。

业务流程执行序列的其他视图

“历史记录”视图显示详细的事件序列、时间戳和有效负载:

仪表板的屏幕截图,其中显示了业务流程实例详细信息。

序列视图提供了另一种可视化事件序列的方法:

仪表板的屏幕截图显示了编排序列视图。

编排管理

仪表板包括按需管理编排的功能,例如启动、暂停、恢复和终止。

仪表板的屏幕截图,其中显示了用于管理业务流程的按钮。

后续步骤

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

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