Desenvolva com o Agendador de Tarefas Resilientes

O Durable Task Scheduler é um fornecedor de backend altamente eficiente e totalmente gerido para Tarefas Duradouras , com um painel de monitorização pronto para usar. O Azure oferece dois frameworks de orquestração orientados para programadores que funcionam com o Durable Task Scheduler para construir aplicações: Durable Task SDKs e Durable Functions.

Neste artigo, você aprende a:

  • Execute o emulador do Durable Task Scheduler
  • Execute operações CRUD em um agendador e hub de tarefas.

Saiba mais sobre os recursos do Agendador de Tarefas Duráveis, regiões suportadas e planos.

Emulador durável do Agendador de Tarefas

Atualmente, o emulador do Durable Task Scheduler só está disponível como uma imagem do Docker.

  1. Puxa a imagem Docker que contém o emulador.

    docker pull mcr.microsoft.com/dts/dts-emulator:latest
    
  2. Execute o emulador.

    docker run -itP mcr.microsoft.com/dts/dts-emulator:latest
    

    Este comando expõe um único hub de tarefas chamado default. Se você precisar de mais de um hub de tarefas, poderá definir a variável DTS_TASK_HUB_NAMES de ambiente no contêiner como uma lista delimitada por vírgulas de nomes de hub de tarefas, como no comando a seguir:

    docker run -itP -e DTS_TASK_HUB_NAMES=taskhub1,taskhub2,taskhub3 mcr.microsoft.com/dts/dts-emulator:latest
    

Pré-requisitos

Configurar a CLI

  1. Inicia sessão no Azure e certifica-te de que tens a versão mais recente da CLI.

    az login
    az upgrade
    
  2. Instale a extensão CLI do Durable Task Scheduler.

    az extension add --name durabletask
    
  3. Se você já instalou a extensão CLI do Durable Task Scheduler, atualize para a versão mais recente.

    az extension update --name durabletask
    
  4. Verifique a sua versão instalada:

    az extension show --name durabletask
    

Saiba mais sobre os comandos az durabletask.

Criar um agendador e um hub de tarefas

  1. Crie um grupo de recursos.

    az group create --name YOUR_RESOURCE_GROUP --location LOCATION
    
  2. Usando a durabletask extensão CLI, crie um agendador.

    az durabletask scheduler create --name "YOUR_SCHEDULER" --resource-group "YOUR_RESOURCE_GROUP" --location "LOCATION" --ip-allowlist "[0.0.0.0/0]" --sku-name "dedicated" --sku-capacity "1"
    

    O processo de criação pode levar até 15 minutos para ser concluído.

    Output

    {
        "id": "/subscriptions/YOUR_SUBSCRIPTION_ID/resourceGroups/YOUR_RESOURCE_GROUP/providers/Microsoft.DurableTask/schedulers/YOUR_SCHEDULER",
        "location": "northcentralus",
        "name": "YOUR_SCHEDULER",
        "properties": {
            "endpoint": "https://YOUR_SCHEDULER.northcentralus.durabletask.io",
            "ipAllowlist": [
                "0.0.0.0/0"
            ],
            "provisioningState": "Succeeded",
            "sku": {
                "capacity": 1,
                "name": "Dedicated",
                "redundancyState": "None"
            }
        },
        "resourceGroup": "YOUR_RESOURCE_GROUP",
        "systemData": {
            "createdAt": "2025-01-06T21:22:59Z",
            "createdBy": "YOUR_EMAIL@example.com",
            "createdByType": "User",
            "lastModifiedAt": "2025-01-06T21:22:59Z",
            "lastModifiedBy": "YOUR_EMAIL@example.com",
            "lastModifiedByType": "User"
        },
        "tags": {}
    }
    
  3. Crie um hub de tarefas.

    az durabletask taskhub create --resource-group YOUR_RESOURCE_GROUP --scheduler-name YOUR_SCHEDULER --name YOUR_TASKHUB
    

    Output

    {
      "id": "/subscriptions/YOUR_SUBSCRIPTION_ID/resourceGroups/YOUR_RESOURCE_GROUP/providers/Microsoft.DurableTask/schedulers/YOUR_SCHEDULERS/taskHubs/YOUR_TASKHUB",
      "name": "YOUR_TASKHUB",
      "properties": {
        "provisioningState": "Succeeded"
      },
      "resourceGroup": "YOUR_RESOURCE_GROUP",
      "systemData": {
        "createdAt": "2024-09-18T22:13:56.5467094Z",
        "createdBy": "OBJECT_ID",
        "createdByType": "User",
        "lastModifiedAt": "2024-09-18T22:13:56.5467094Z",
        "lastModifiedBy": "OBJECT_ID",
        "lastModifiedByType": "User"
      },
      "type": "microsoft.durabletask/scheduler/taskhubs"
    }
    
  1. No portal do Azure, procure Agendador de Tarefas Duráveis e selecione-o nos resultados.

    Captura de ecrã da pesquisa do Agendador de Tarefas Duráveis no portal.

  2. Selecione Criar para abrir o painel do Agendador de Tarefas Duradouras .

    Captura de tela da página de criação para o Agendador de Tarefas Duráveis.

  3. Preencha os campos no separador Básicos. Selecione Rever + criar.

  4. Depois de a validação passar, selecione Criar.

    A implantação pode levar cerca de 15 a 20 minutos.

Exibir todos os recursos do Agendador de Tarefas Duráveis em uma assinatura

  1. Obtenha uma lista de todos os nomes de agendadores em uma assinatura executando o seguinte comando.

    az durabletask scheduler list --subscription <SUBSCRIPTION_ID>
    
  2. Você pode restringir os resultados a um grupo de recursos específico adicionando o --resource-group sinalizador.

    az durabletask scheduler list --subscription <SUBSCRIPTION_ID> --resource-group <RESOURCE_GROUP_NAME>
    

No portal do Azure, procure Agendador de Tarefas Duráveis e selecione-o nos resultados.

Captura de ecrã da pesquisa pelo serviço Agendador de Tarefas Duráveis no portal.

Você pode ver a lista de recursos do agendador criados em todas as assinaturas às quais você tem acesso.

Exibir todos os hubs de tarefas em um Agendador de Tarefas Durável

Recupere uma lista de hubs de tarefas em um agendador específico executando:

az durabletask taskhub list --resource-group <RESOURCE_GROUP_NAME> --scheduler-name <SCHEDULER_NAME>

Você pode ver todos os hubs de tarefas criados em um agendador na Visão geral do recurso no portal do Azure.

Captura de ecrã do separador de visão geral do Agendador de Tarefas Duráveis no portal.

Eliminar um agendador e um hub de tarefas

  1. Elimine primeiro o hub de tarefas:

    az durabletask taskhub delete --resource-group YOUR_RESOURCE_GROUP --scheduler-name YOUR_SCHEDULER --name YOUR_TASKHUB
    
  2. Exclua o agendador:

    az durabletask scheduler delete --resource-group YOUR_RESOURCE_GROUP --scheduler-name YOUR_SCHEDULER
    
  1. Abra o recurso do agendador no portal Azure e selecione Delete:

    Captura de tela do recurso do agendador no portal realçando o botão excluir.

  2. Encontra o agendador com o hub de tarefas que queres apagar, depois seleciona esse hub de tarefas. Selecionar Eliminar:

    Captura de ecrã do recurso do hub de tarefas no portal realçando o botão eliminar.

Configure a autenticação baseada em identidade para a sua aplicação aceder ao Durable Task Scheduler

O Durable Task Scheduler apenas suporta autenticação de identidade gerida usando identidades atribuídas pelo utilizador ou pelo sistema . As identidades atribuídas pelo utilizador são recomendadas porque não estão ligadas ao ciclo de vida da aplicação e podem ser reutilizadas depois de a aplicação ser desprovisionada.

Para conceder acesso à sua aplicação, atribua o papel de Contribuidor de Dados de Tarefas Duráveis à identidade gerida. Para os passos completos de configuração, consulte Configurar acesso baseado em identidade no Durable Task Scheduler.

Acesse o painel do Agendador de Tarefas Duráveis

Para aceder ao painel do Durable Task Scheduler, atribua o papel Durable Task Dashboard Viewer à identidade do seu programador. Para detalhes, consulte o painel do Durable Task Scheduler.