Depurar e gerir orquestrações usando o painel do Durable Task Scheduler

O painel Durable Task Scheduler permite-lhe observar orquestrações em execução, inspecionar o histórico de execução e as entradas/saídas de atividades, e gerir o ciclo de vida da orquestração (pausar, retomar, terminar), tudo a partir de um navegador.

O painel está disponível em dois ambientes:

Meio Ambiente URL Autenticação
Emulador local http://localhost:8082 Não é necessário
Azure https://dashboard.durabletask.io/?endpoint=<SCHEDULER_ENDPOINT>&taskhub=<TASK_HUB_NAME> Requer a função Contribuidor de Dados de Tarefas Duráveis

Para mais informações sobre o emulador, veja Emulador para desenvolvimento local.

Neste artigo, você aprenderá a:

  • Aceda ao painel localmente ou no Azure.
  • Atribua a função Contribuidor de Dados de Tarefas Duradouras à sua identidade de programador.
  • Monitorizar o estado da orquestração, filtrar instâncias e inspecionar o histórico de execução.
  • Gerir orquestrações (pausar, retomar, terminar, despoletar eventos).

Pré-requisitos

Antes de começar:

Aceda ao painel localmente

Se estiver a usar o emulador Durable Task Scheduler, o painel está disponível em:

http://localhost:8082

Não é necessária autenticação nem atribuição de funções para o desenvolvimento local.

Atribuir funções de acesso ao painel de controlo do Azure

Para aceder ao painel de um agendador alojado em Azure, atribua o papel Durable Task Data Contributor à tua identidade de programador (email).

  1. Defina o responsável para a sua identidade de desenvolvedor.

    assignee=$(az ad user show --id "someone@microsoft.com" --query "id" --output tsv)
    
  2. Defina o escopo. A concessão de acesso no escopo do agendador dá acesso a todos os hubs de tarefas nesse agendador.

    Hub de Tarefas

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

    Agendador

    scope="/subscriptions/SUBSCRIPTION_ID/resourceGroups/RESOURCE_GROUP/providers/Microsoft.DurableTask/schedulers/SCHEDULER_NAME"
    
  3. Conceder acesso. Execute o seguinte comando para criar a atribuição de função e conceder acesso.

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

    Resultados esperados

    O exemplo de saída a seguir mostra uma identidade de desenvolvedor atribuída com a função de Colaborador de Dados de Tarefa Durável no nível do agendador :

    {
      "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. Após conceder o acesso, abra o painel em:

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

    Substitua <SCHEDULER_ENDPOINT> pelo endpoint do seu agendador (por exemplo, https://myscheduler.westus2.durabletask.io) e <TASK_HUB_NAME> pelo nome do seu hub de tarefas.

    Em alternativa, navegue até https://dashboard.durabletask.io/ e introduza o endpoint do agendador e o nome do hub de tarefas no formulário de ligação.

Observação

A instrução a seguir mostra uma atribuição de função limitada a um hub de tarefas específico. Se você precisar de acesso a todos os hubs de tarefas em um agendador, execute a atribuição no nível do agendador.

  1. Navegue até ao recurso Durable Task Scheduler no portal.

  2. Clique no nome de um hub de tarefas.

  3. No menu à esquerda, selecione Controle de acesso (IAM).

  4. Clique em Adicionar para adicionar uma atribuição de função.

    Captura de ecrã da adição da atribuição de funções no painel Controlo de Acesso do portal.

  5. Pesquise e selecione Colaborador de Dados de Tarefa Durável. Clique em Next.

    Captura de ecrã a mostrar a seleção da atribuição da função Colaborador de Dados de Tarefas Duráveis no portal.

  6. Na guia Membros , para Atribuir acesso a, selecione Usuário, grupo ou entidade de serviço.

  7. Para Membros, clique em + Selecionar membros.

  8. No painel Selecionar membros , procure o seu nome ou e-mail:

    Captura de ecrã a mostrar a seleção do tipo de identidade gerida atribuída pelo utilizador no portal.

  9. Escolha seu e-mail e clique no botão Selecionar .

  10. Clique em Rever e atribuir para concluir a atribuição do papel.

  11. Depois que a função for atribuída, clique em Visão geral no menu esquerdo do recurso do hub de tarefas e navegue até a URL do painel localizada na seção superior do Essentials .

Monitoriza o teu hub de tarefas através do dashboard

O painel permite monitorar o progresso da orquestração e revisar o histórico de execução. Na página inicial do dashboard, pode encontrar as orquestrações, entidades, agendas, trabalhadores e métricas do seu centro de tarefas, e agentes de IA (atualmente em pré-visualização).

Painel de visão geral das orquestrações

Veja orquestrações clicando no nome do hub de tarefas ou em Orquestrações no menu lateral.

Captura de ecrã da página inicial do painel com ligações para os centros de tarefas, histórico de orquestração, entidades, horários, trabalhadores, métricas e agentes de IA.

A partir do painel de visão geral de Orquestrações , pode:

  • Consulte uma lista de instâncias de orquestração.
  • Restrinja as orquestrações utilizando a barra de pesquisa ou os filtros.
  • Cria uma nova orquestração.
  • Copie um link partilhável para o painel de controlo.
  • Definir os intervalos de atualização automática da lista de orquestração.

Captura de ecrã do painel com a lista de orquestrações.

A informação de orquestração é apresentada com as seguintes colunas padrão.

Categoria Description
ID da instância Procure uma instância de orquestração específica pelo seu ID único.
Name Filtra pelo nome do tipo de orquestração.
Situação Filtrar pelo estado do tempo de execução (Em Execução, Concluído, Falhado, Terminado, Pendente, Suspenso).
Etiquetas Filtra pelas etiquetas aplicadas à instância de orquestração.
Criado Data e hora em que a orquestração foi criada.

Pode filtrar a lista de orquestração usando os seguintes critérios.

Captura de ecrã do painel a listar o histórico de orquestração e o estado com opções de filtro.

Categoria Description
Nome da orquestração Filtra pelo nome do tipo de orquestração.
Estado de execução Filtrar pelo estado do tempo de execução (Em Execução, Concluído, Falhado, Terminado, Pendente, Suspenso).
Filtro de etiquetas Pesquise orquestrações pela chave da etiqueta ou pelo valor.
Criado a partir de/Criado para Reduza os resultados a uma janela temporal.

Desencadeie uma atualização da lista de orquestração através de:

  • Clicar no ícone de atualização para uma atualização manual.

  • Ative e desative Auto e selecione o intervalo para atualizar automaticamente a lista.

    Captura de ecrã do interruptor de atualização automática e do ícone de atualização manual.

Criar uma nova orquestração

Pode criar uma nova orquestração a partir do painel do Durable Task Scheduler.

  1. No painel de visão geral de Orquestrações , clique em + Nova Orquestração.

  2. Preencha os dados no formulário Nova Orquestração.

    Captura de ecrã do Criar nova forma de orquestração.

    Campo Description
    Nome da Orquestração Selecione uma orquestração no menu suspenso ou escreva um nome de orquestração personalizado.
    ID da instância Opcional. Os IDs das instâncias são gerados automaticamente. Quer cries um tu próprio ou deixes que se autogere, os IDs de instância estão em formato ASCII.
    Versão Opcional. Introduza o número de versão aplicável.
    Entrada Opcional. Insira a entrada em formato JSON.
    Início programado Opcional. Selecione a data e hora de início da orquestração.
    Etiquetas Opcional. Introduza as etiquetas de chave e/ou valor associadas à orquestração.
  3. Clique em Criar.

    Podes ver a tua nova orquestração na lista.

Detalhes da orquestração

Clique numa instância de orquestração para diagnosticar problemas ou obter visibilidade sobre o estado de uma orquestração.

Utilize os separadores Timeline, History e Flow para visualizar os detalhes da execução e o progresso da atividade. O separador Linha do Tempo está aberto por defeito.

  • O separador Linha do Tempo mostra os intervalos de uma orquestração em curso.

    Captura de ecrã da linha temporal da execução da orquestração.

    Selecione uma atividade para visualizar a sua entrada e saída.

    Captura de ecrã do painel onde podes ver a entrada, saída e estado de uma atividade.

  • O separador Histórico apresenta uma lista cronológica de todos os eventos numa orquestração, incluindo carimbos data/hora.

    Captura de ecrã do painel a mostrar o histórico de eventos de uma orquestração individual.

  • O separador Flow apresenta visualmente o fluxo de execução da orquestração.

    Captura de ecrã do fluxo de eventos de uma orquestração individual.

    Também pode visualizar a entrada e saída de uma atividade clicando em Visualizar.

    Captura de ecrã do painel onde podes ver a entrada, saída e estado de uma atividade através da vista de fluxo.

Gerir orquestrações

Pode gerir o ciclo de vida da orquestração através do painel de controlo. No painel de Orquestrações , selecione um ID de instância para aceder às seguintes ações:

Captura de ecrã do painel a mostrar os botões Purgar, Reiniciar, Terminar, Suspender e Retomar para gerir orquestrações.

  • Retomar: Continuar uma orquestração suspensa anteriormente.
  • Suspender: Coloca em pausa uma orquestração em curso. Permanece na memória, mas deixa de processar eventos até ser retomado.
  • Reiniciar: Reinicia uma orquestração anteriormente em execução.
  • Terminar: Interrompa imediatamente uma orquestração com uma cadeia de caracteres de motivo opcional.
  • Purge: Purgar a instância de orquestração.

Aprofunde uma orquestração específica para aceder à ação Elevar evento. Esta ação envia um evento externo designado (com carga útil JSON opcional) para uma orquestração em execução ou suspensa.

Captura de ecrã do painel que mostra os botões Purgar, Reiniciar, Terminar e Acionar Evento para gerir orquestrações.

Entidades

Selecione Entidades no menu lateral esquerdo para ver as entidades que criou.

Captura de ecrã das entidades que criaste e algumas ferramentas de gestão para elas.

Clique numa entidade individual da lista para ver os seus detalhes. A partir daqui, pode rever:

  • Quando foi modificado pela última vez
  • Quando foi executada a última operação
  • Se está trancada, e quem a trancou
  • O tamanho do seu atraso
  • O estado da entidade, seja em JSON ou código bruto

Captura de ecrã de uma entidade individual a ser rastreada no painel do Durable Task Scheduler.

Também pode enviar um sinal para a entidade. Clica em Sinal no canto superior direito e cria a mensagem do sinal.

Captura de ecrã da janela para enviar um sinal à sua entidade individual.

Agentes (pré-visualização)

Observação

A consulta das sessões de agentes no painel do Durable Task Scheduler encontra-se atualmente em pré-visualização.

Selecione Agentes no menu lateral esquerdo para monitorizar as sessões de agentes desencadeadas pela sua candidatura no agendador. Clique numa sessão de agente para ver os seus dados de utilização de tokens, tais como:

  • O número de tokens de prompt que usaste.
  • O número de tokens de conclusão que utilizaste.
  • O número total de tokens usados durante a sessão do agente.

Também pode ver o histórico e a linha temporal do chat do agente.

Captura de ecrã das sessões do agente desencadeadas pela sua candidatura.

Calendários

Selecione Horários no menu lateral esquerdo para ver os horários que criou. A partir do painel de horários, podes pausar, retomar ou eliminar um horário. Também pode clicar em + Criar Horário para criar um horário através da interface do painel.

Captura de ecrã dos horários que criaste e algumas ferramentas de gestão para eles.

Trabalhadores & métricas

Selecione Trabalhadores & Métricas no menu lateral esquerdo para visualizar:

  • Todas as tuas atividades, orquestradores e entidades pendentes, ativas ou armazenadas.
  • Trabalhadores conectados.

Captura de ecrã de uma visão geral das filas dos itens de trabalho e dos trabalhadores ligados.

Passos seguintes

Para o Agendador de Tarefas Durável para Funções Duráveis:

Para o Agendador de Tarefas Duráveis para os SDKs de Tarefas Duráveis: