使用 Durable Task Scheduler 儀表板偵錯及管理協調流程

Durable Task Scheduler 儀表板讓你能從瀏覽器觀察正在執行的編排、檢查執行歷史和活動輸入/輸出,並管理編排生命週期(暫停、繼續、終止)。

儀表板可供使用於兩種環境:

Environment URL 認證
本地模擬器 http://localhost:8082 不需要
Azure https://dashboard.durabletask.io/?endpoint=<SCHEDULER_ENDPOINT>&taskhub=<TASK_HUB_NAME> 需要具備 Durable Task 資料貢獻者角色

欲了解更多模擬器資訊,請參閱 本地開發模擬器。

在本文中,您將學會如何:

  • 可本地或在 Azure 上存取儀表板。
  • 將 Durable Task Data Contributor 角色指派給您的開發人員身分。
  • 監控編排狀態、過濾實例並檢查執行歷史。
  • 管理協調流程 (暫停、繼續、終止、引發事件)。

先決條件

在開始之前:

本地存取儀表板

如果你正在使用 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. 指派角色之後,按一下工作中樞資源左側功能表上的 [概觀],然後瀏覽至位於頂端 [基本資訊] 區段的儀表板 URL。

透過儀表板監控你的任務中心

儀錶板可讓您監視協調流程進度並檢閱執行歷程記錄。 從儀表板主頁中,您可以找到工作中樞中的流程協調、實體、排程、背景工作程式與指標,以及 AI Agent (目前為預覽版)。

編排總覽面板

按一下工作中樞名稱,或側邊選單中的,即可檢視流程協調。

儀表板首頁的截圖,包含任務中心、編排歷史、實體、排程、工作者、指標和 AI 代理的連結。

在 編排 總覽窗格中,你可以:

  • 檢閱一份流程協調執行個體清單。
  • 使用搜尋列或篩選條件縮小流程協調的範圍。
  • 建立新的協調流程。
  • 複製一個可分享的連結到儀表板。
  • 設定編排清單的自動刷新間隔。

列出協調流程的控制台螢幕擷圖。

編排資訊以以下預設欄位呈現。

類別 Description
實例識別碼 依其唯一識別碼搜尋特定的流程協調執行個體。
名稱 依照配音類型名稱篩選。
現況 依執行狀態篩選(執行中、完成、失敗、終止、待處理、暫停)。
標籤 依據套用至編排實例的標籤進行篩選。
已建立 編曲創作的日期和時間。

若要在編排清單和執行詳細資料中顯示自訂顯示名稱,而不是註冊名稱,請在啟動編排時使用已知的 durabletask.displayName 標籤。 欲了解更多資訊,請參閱 「設定自訂顯示名稱」。

你可以用以下條件篩選編排清單。

儀表板截圖,列出了編排歷史和狀態,並有篩選選項。

類別 Description
編曲名稱 依照配音類型名稱篩選。
運行狀態 依執行狀態篩選(執行中、完成、失敗、終止、待處理、暫停)。
標籤過濾器 依標籤鍵 或 值搜尋編排。
建立自/建立至 將結果縮小到時間範圍。

透過以下方式觸發編曲清單的刷新:

  • 點擊重新整理圖示進行手動刷新。

  • 切換 自動 並選擇間隔,即可自動刷新清單。

    自動刷新切換和手動刷新圖示的截圖。

創造新的編曲

你可以在 Durable Task Scheduler 儀表板中建立新的協調流程。

  1. 從 編曲 總覽窗格點選 + 新編曲。

  2. 請填寫 新編排 表格中的相關資訊。

    「建立新協調流程」表單的截圖。

    Field Description
    流程協調名稱 從下拉選單選擇一個配器,或輸入自訂的配器名稱。
    實例識別碼 選擇性。 實例 ID 是自動生成的。 不管你是自己建立實例 ID 還是讓它自動產生,實例 ID 都是 ASCII 格式。
    版本 選擇性。 輸入適用的版本號。
    輸入 選擇性。 以 JSON 格式輸入內容。
    預定開始 選擇性。 選擇編曲的開始日期與時間。
    標籤 選擇性。 輸入與編排相關的金鑰和/或值標籤。
  3. 點擊 建立。

    你可以在清單中看到你的新編曲。

編曲細節

點擊編排實例以診斷問題或了解編排狀態。

使用 時間軸、 歷史紀錄和 流程 分頁查看執行細節及活動進度。 時間軸標籤預設是開啟的。

  • 時間軸分頁顯示執行中編排的間隔。

    編排執行時間軸的截圖。

    選擇一項活動以檢視其輸入與輸出。

    這是你可以查看活動輸入、輸出和狀態的窗格截圖。

  • 歷史分頁會提供編排中所有事件的摘要,並完整附上時間戳記。

    顯示單一協調流程事件歷程的儀表板螢幕擷圖。

  • Flow 分頁會視覺化地繪製出編曲執行流程。

    個別流程協調事件流程的螢幕截圖。

    你也可以點擊 「檢視」來查看活動的輸入與輸出。

    截圖是你可以透過流程檢視活動輸入、輸出和狀態的窗格。

管理協調流程

你可以透過儀表板管理你的編排生命週期。 在 編排 面板中,選擇一個實例 ID 以存取以下操作:

顯示用於管理流程協調之「清除」、「重新啟動」、「終止」、「暫停」和「重新開始」按鈕的儀表板螢幕截圖。

  • 繼續: 繼續先前已暫停的協調流程。
  • 暫停: 暫停正在進行的管弦樂。 它會留在記憶體中,但會停止處理事件直到恢復。
  • 重啟: 重新啟動之前正在運行的編曲。
  • 終止:使用選擇性原因字串立即停止流程協調。
  • 清除: 清除編排實例。

深入查看個別流程協調,以存取引發事件動作。 此動作會將一個具名外部事件 (搭配選用的 JSON 酬載) 傳送給正在執行或暫停的流程協調。

顯示用於管理流程協調之「清除」、「重新啟動」、「終止」和「引發事件」按鈕的儀表板螢幕截圖。

實體

從左側選單選擇 實體 ,即可查看你所建立的實體。

你所建立的實體的螢幕擷圖,以及一些用於管理這些實體的工具。

點擊列表中的單一實體可查看其詳細資訊。 從這裡開始,你可以回顧:

  • 上次修改時間
  • 上次作業執行時間
  • 不管是不是鎖著,還有是誰鎖的
  • 積壓案件的規模
  • 實體狀態可以是 JSON 或原始程式碼

在長期工作排程器儀表板中追蹤個別實體的螢幕截圖。

你也可以向實體發送訊號。 點擊右上角的 「Signal 」並建立訊號訊息。

向您的個別實體傳送訊號的視窗截圖。

特工(預覽)

備註

透過 Durable Task Scheduler 儀表板檢閱代理程式工作階段的功能目前處於預覽階段。

在排程器中,從左側選單選擇「 代理」 以監控由你的應用程式觸發的代理會話。 點擊進入代理會話以查看您的代幣使用資料,例如:

  • 您已使用的提示詞元數量。
  • 你用過的完成代幣數量。
  • 代理人會話中使用的代幣總數。

你也可以查看客服人員的聊天歷史和時間軸。

這是你申請觸發的代理會話截圖。

賽程

從左側選單選擇 「排程」 以查看你建立的排程。 在行程表欄中,你可以暫停、繼續或刪除行程表。 你也可以點擊 + 建立排程 ,透過儀表板介面建立排程。

你建立的排程截圖以及一些管理工具。

工人與指標

從左側選單選擇 「工人與指標 」以查看:

  • 所有待處理、作用中或已儲存的活動、流程協調工具和實體。
  • 互聯員工

工作項目佇列和已連線工作者的總覽截圖。

下一步

針對 Durable Functions 的長期工作排程器:

針對長期工作 SDK 的長期工作排程器: