Eseguire il debug e gestire le orchestrazioni utilizzando il dashboard di Durable Task Scheduler

Il dashboard di Durable Task Scheduler consente di osservare le orchestrazioni in esecuzione, esaminare la cronologia di esecuzione e gli input/output delle attività e gestire il ciclo di vita delle orchestrazioni (sospensione, ripresa, terminazione), il tutto da un browser.

Il dashboard è disponibile in due ambienti:

Environment URL Authentication
Emulatore locale http://localhost:8082 Nessuna richiesta
Azure https://dashboard.durabletask.io/?endpoint=<SCHEDULER_ENDPOINT>&taskhub=<TASK_HUB_NAME> Richiede il ruolo di Collaboratore ai dati delle attività durevoli

Per ulteriori informazioni sull'emulatore, vedere Emulatore per lo sviluppo locale.

In questo articolo vengono illustrate le operazioni seguenti:

  • Accedere al dashboard in locale o in Azure.
  • Assegnare il ruolo di Collaboratore ai dati delle attività durevoli all'identità dello sviluppatore.
  • Monitorare lo stato dell'orchestrazione, filtrare le istanze e controllare la cronologia di esecuzione.
  • Gestire le orchestrazioni (sospendere, riprendere, terminare, generare eventi).

Prerequisiti

Prima di iniziare:

Accedere al dashboard in locale

Se stai usando l'emulatore del programmatore di attività durevole, il dashboard è disponibile all'indirizzo:

http://localhost:8082

Per lo sviluppo locale non è necessaria alcuna autenticazione o assegnazione di ruolo.

Assegnare ruoli di accesso al dashboard (Azure)

Per accedere al dashboard per un'utilità di pianificazione ospitata in Azure, assegnare il ruolo Collaboratore ai dati delle attività durevoli all'identità dello sviluppatore (e-mail).

  1. Impostare l'assegnatario sull'identità dello sviluppatore.

    assignee=$(az ad user show --id "someone@microsoft.com" --query "id" --output tsv)
    
  2. Impostare l'ambito. La concessione dell'accesso nell'ambito del pianificatore consente di accedere a tutti gli hub di attività presenti in quel pianificatore.

    Hub attività

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

    Utilità di pianificazione

    scope="/subscriptions/SUBSCRIPTION_ID/resourceGroups/RESOURCE_GROUP/providers/Microsoft.DurableTask/schedulers/SCHEDULER_NAME"
    
  3. Concedere l'accesso. Eseguire il comando seguente per creare l'assegnazione di ruolo e concedere l'accesso.

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

    Output previsto

    L'esempio di output seguente mostra un'identità dello sviluppatore a cui è stato assegnato il ruolo di Collaboratore ai dati dell'attività durevole al livello del pianificatore:

    {
      "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. Dopo aver concesso l'accesso, aprire il dashboard all'indirizzo:

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

    Sostituire <SCHEDULER_ENDPOINT> con l'endpoint del sistema di pianificazione (ad esempio, https://myscheduler.westus2.durabletask.io) e <TASK_HUB_NAME> con il nome dell'hub delle attività.

    In alternativa, passare a https://dashboard.durabletask.io/ e immettere l'endpoint dell'utilità di pianificazione e il nome dell'hub attività nel modulo di connessione.

Annotazioni

L'istruzione seguente mostra un'assegnazione di ruolo limitata a un hub di attività specifico. Se è necessario accedere a tutti gli hub di attività in un pianificatore, eseguire l'assegnazione a livello del pianificatore.

  1. Passare alla risorsa del pianificatore di attività durevole nel portale.

  2. Fare clic sul nome di un hub attività.

  3. Nel menu a sinistra selezionare Controllo di accesso (IAM).

  4. Fare clic su Aggiungi per aggiungere un'assegnazione di ruolo.

    Screenshot dell'aggiunta dell'assegnazione di ruolo nel riquadro Controllo di accesso nel portale.

  5. Cercare e selezionare Collaboratore dati attività durevole. Fare clic su Avanti.

    Screenshot della selezione dell'assegnazione del ruolo Collaboratore dati di attività durevole nel portale.

  6. Nella scheda Membri , per Assegna accesso a, selezionare Utente, gruppo o entità servizio.

  7. In Membri fare clic su + Seleziona membri.

  8. Nel riquadro Seleziona membri cercare il nome o il messaggio di posta elettronica:

    Uno screenshot della selezione del tipo di identità gestita assegnato dall'utente nel portale.

  9. Selezionare il messaggio di posta elettronica e fare clic sul pulsante Seleziona .

  10. Fare clic su Rivedi e assegna per completare l'assegnazione del ruolo.

  11. Dopo aver assegnato il ruolo, fare clic su Panoramica nel menu a sinistra della risorsa dell'hub attività e passare all'URL del dashboard disponibile nella sezione Informazioni di base superiore.

Monitorare l'hub attività tramite il dashboard

Il dashboard consente di monitorare lo stato di avanzamento dell'orchestrazione ed esaminare la cronologia di esecuzione. Dalla pagina iniziale del dashboard, è possibile trovare le orchestrazioni, le entità, le pianificazioni, i worker e le metriche dell'hub di attività, nonché gli agenti di intelligenza artificiale (attualmente in anteprima).

Riquadro Panoramica delle orchestrazioni

Visualizza le orchestrazioni facendo clic sul nome dell'hub attività o su Orchestrations nel menu laterale.

Schermata della home page del dashboard con collegamenti agli hub delle attività, alla cronologia dell'orchestrazione, alle entità, alle pianificazioni, ai worker, alle metriche e agli agenti di IA.

Dal riquadro Panoramica Orchestrations, è possibile:

  • Esamina un elenco di istanze di orchestrazione.
  • Restringere le orchestrazioni tramite la barra di ricerca o i filtri.
  • Creare una nuova orchestrazione.
  • Copiare un collegamento condivisibile nel dashboard.
  • Impostare intervalli di aggiornamento automatico dell'elenco di orchestrazione.

Schermata del dashboard che elenca le orchestrazioni.

Le informazioni sull'orchestrazione vengono presentate con le colonne predefinite seguenti.

Categoria Description
ID dell'istanza Cercare un'istanza di orchestrazione specifica in base al relativo ID univoco.
Name Filtrare in base al nome del tipo di orchestrazione.
Stato Filtrare in base allo stato di runtime (In esecuzione, Completato, Non riuscito, Terminato, In sospeso, Sospeso).
Tag Filtrare in base ai tag applicati all'istanza di orchestrazione.
Creazione Data e ora di creazione dell'orchestrazione.

È possibile filtrare l'elenco di orchestrazione usando i criteri seguenti.

Screenshot del dashboard che elenca la cronologia e lo stato dell'orchestrazione con le opzioni di filtro.

Categoria Description
Nome dell'orchestrazione Filtrare in base al nome del tipo di orchestrazione.
Stato di runtime Filtrare in base allo stato di runtime (In esecuzione, Completato, Non riuscito, Terminato, In sospeso, Sospeso).
Filtro tag Cercare orchestrazioni in base alla chiave o al valore del tag.
Creato da/Creato a Restringere i risultati a un intervallo di tempo.

Attivare l'aggiornamento dell'elenco di orchestrazione mediante:

  • Fare clic sull'icona di aggiornamento per un aggiornamento manuale.

  • Attivare o disattivare Auto e selezionare l'intervallo per aggiornare automaticamente l'elenco.

    Schermata dell'interruttore dell'aggiornamento automatico e dell'icona di aggiornamento manuale.

Creare una nuova orchestrazione

È possibile creare una nuova orchestrazione dal dashboard dell'Utilità di pianificazione attività permanenti.

  1. Nel riquadro di panoramica Orchestrazioni, fare clic su + Nuova orchestrazione.

  2. Compilare le informazioni nel modulo Nuova orchestrazione .

    Schermata del modulo Crea nuova orchestrazione.

    Campo Description
    Nome dell'orchestrazione Selezionare un'orchestrazione dall'elenco a discesa oppure digitare un nome di orchestrazione personalizzato.
    ID dell'istanza Optional. Gli ID istanza vengono generati automaticamente. Indipendentemente dal fatto che si crei manualmente o che venga generato automaticamente, gli ID istanza sono in formato ASCII.
    Versione Optional. Immettere il numero di versione applicabile.
    Inserimento Optional. Immettere l'input in formato JSON.
    Inizio pianificato Optional. Selezionare la data e l'ora di inizio per l'orchestrazione.
    Tag Optional. Immettere i tag chiave e/o valore associati all'orchestrazione.
  3. Fare clic su Crea.

    È possibile visualizzare la nuova orchestrazione nell'elenco.

Dettagli orchestrazione

Fare clic su un'istanza di orchestrazione per diagnosticare i problemi o ottenere visibilità sullo stato di un'orchestrazione.

Usare le schede Sequenza temporale, Cronologia e Flusso per visualizzare i dettagli di esecuzione e lo stato dell'attività. La scheda Sequenza temporale è aperta per impostazione predefinita.

  • La scheda Sequenza temporale mostra gli intervalli di un'orchestrazione in esecuzione.

    Schermata della cronologia di esecuzione dell'orchestrazione.

    Selezionare un'attività per visualizzarne l'input e l'output.

    Screenshot del riquadro in cui è possibile visualizzare l'input, l'output e lo stato di un'attività.

  • La scheda Cronologia fornisce un feed di tutti gli eventi in un'orchestrazione, completo di timestamp.

    Screenshot del dashboard che mostra la cronologia eventi di una singola orchestrazione.

  • La scheda Flow traccia visivamente il flusso di esecuzione dell'orchestrazione.

    Screenshot del flusso di eventi di una singola orchestrazione.

    È anche possibile visualizzare l'input e l'output di un'attività facendo clic su Visualizza.

    Screenshot del riquadro in cui è possibile visualizzare l'input, l'output e lo stato di un'attività tramite la visualizzazione flusso.

Gestire le orchestrazioni

È possibile gestire il ciclo di vita dell'orchestrazione tramite il dashboard. Nel riquadro Orchestrazioni selezionare un ID istanza per accedere alle azioni seguenti:

Screenshot del dashboard che mostra i pulsanti Ripulitura, Riavvia, Termina, Sospendi e Riprendi per la gestione delle orchestrazioni.

  • Riassumere: Continuare un'orchestrazione sospesa in precedenza.
  • Sospendere: Sospendere un'orchestrazione in esecuzione. Rimane in memoria, ma interrompe l'elaborazione degli eventi fino alla ripresa.
  • Riavviare: Riavviare un'orchestrazione in esecuzione in precedenza.
  • Termina: Interrompe immediatamente un'orchestrazione con una stringa facoltativa che ne specifica il motivo.
  • Elimina: Elimina l'istanza di orchestrazione.

Aprire i dettagli di una singola orchestrazione per accedere all'azione Genera un evento. Questa azione invia un evento esterno denominato (con payload JSON facoltativo) a un'orchestrazione in esecuzione o sospesa.

Screenshot del dashboard che mostra i pulsanti Ripulitura, Riavvia, Termina e Genera evento per la gestione delle orchestrazioni.

Entità

Selezionare Entità dal menu a sinistra per visualizzare le entità create.

Schermata delle entità che hai creato e di alcuni strumenti per gestirle.

Fare clic su una singola entità dall'elenco per visualizzarne i dettagli. Da qui è possibile esaminare:

  • Data dell'ultima modifica
  • Quando è stata eseguita l'ultima operazione
  • Se è bloccato, e chi l'ha bloccato
  • Dimensione del suo backlog
  • Stato dell'entità nel codice JSON o non elaborato

Schermata di una singola entità monitorata nel dashboard di Durable Task Scheduler.

È anche possibile inviare un segnale all'entità. Fare clic su Segnale nell'angolo in alto a destra e creare il messaggio del segnale.

Schermata della finestra per inviare un segnale alla tua entità individuale.

Agenti (anteprima)

Annotazioni

La revisione delle sessioni dell'agente tramite il dashboard del pianificatore attività permanenti è attualmente in anteprima.

Selezionare Agenti dal menu a sinistra per monitorare le sessioni degli agenti attivate dall'applicazione nell'utilità di pianificazione. Fare clic in una sessione dell'agente per visualizzare i dati di utilizzo dei token, ad esempio:

  • Il numero di token del prompt che hai usato.
  • Il numero di token di completamento che hai usato.
  • Numero totale di token usati durante la sessione dell'agente.

È anche possibile visualizzare la cronologia e la sequenza temporale della chat dell'agente.

Screenshot delle sessioni dell'agente attivate dall'applicazione.

Pianificazioni

Selezionare Pianificazioni dal menu a sinistra per visualizzare le pianificazioni create. Dal riquadro pianificazioni è possibile sospendere, riprendere o eliminare una pianificazione. È anche possibile fare clic su + Crea pianificazione per creare una pianificazione tramite l'interfaccia utente del dashboard.

Screenshot delle pianificazioni create e di alcuni strumenti di gestione.

Ruoli di lavoro e metriche

Selezionare Workers & Metrics (Ruoli di lavoro e metriche ) dal menu a sinistra per visualizzare:

  • Tutte le attività, gli orchestratori e le entità in sospeso, attivi o memorizzati.
  • Lavoratori connessi.

Screenshot di una panoramica delle code degli elementi di lavoro e dei ruoli di lavoro connessi.

Passaggi successivi

Per Pianificatore di attività durevole in Durable Functions:

Per il pianificatore di attività durevole per SDK di Durable Task: