Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Escreva funções com monitoração de estado em um ambiente sem servidor usando Durable Functions, um recurso do Azure Functions. Os cenários em que as Funções Duráveis são úteis incluem a orquestração de microsserviços e fluxos de trabalho, padrões de estado, como fan-out/fan-in, e tarefas de longa duração.
Você pode usar o Agendador de Tarefas Duráveis como um back-end para suas Funções Duráveis, para armazenar orquestração e estado de tempo de execução da entidade.
Neste guia de início rápido, você irá:
- Configure um aplicativo de Funções Duráveis existente para usar o Agendador de Tarefas Duráveis.
- Configure o emulador de tarefa durável para desenvolvimento local.
- Implante seu aplicativo no Azure no plano do Serviço de Aplicativo usando o Visual Studio Code.
- Monitore o status do seu aplicativo e hub de tarefas no painel do Agendador de Tarefas Duráveis.
Pré-requisitos
Este início rápido pressupõe que você já tenha um projeto do Azure Functions em seu computador local com:
- Funções duráveis adicionadas ao seu projeto, incluindo:
- Uma função de orquestrador.
- Uma função de cliente que aciona o aplicativo Durable Functions.
- O projeto está configurado para depuração local.
Se você não atender a esses pré-requisitos, recomendamos que comece com um dos seguintes inícios rápidos para configurar um projeto local do Functions:
Você também precisa:
- Docker instalado para executar o emulador do Durable Task Scheduler.
- Azurite instalado.
- Uma ferramenta de teste HTTP que mantém seus dados seguros.
Adicionar o pacote do Agendador de Tarefas Durável
Instale a versão mais recente do pacote Microsoft.Azure.Functions.Worker.Extensions.DurableTask.AzureManaged usando o comando dotnet add package :
dotnet add package Microsoft.Azure.Functions.Worker.Extensions.DurableTask.AzureManaged --prerelease
Observação
A extensão do Agendador de Tarefas Durável requer a versão Microsoft.Azure.Functions.Worker.Extensions.DurableTask ou superior.1.2.2
Em host.json, atualize a propriedade extensionBundle para usar a versão de pré-visualização que contém o pacote Durable Task Scheduler.
{
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle.Preview",
"version": "[4.29.0, 5.0.0)"
}
}
Atualize o host.json
Atualize o host.json da seguinte forma para usar o Agendador de Tarefas Durável como back-end.
{
"extensions": {
"durableTask": {
"hubName": "%TASKHUB_NAME%",
"storageProvider": {
"type": "azureManaged",
"connectionStringName": "DURABLE_TASK_SCHEDULER_CONNECTION_STRING"
}
}
}
}
Configurar local.settings.json
Adicione informações de conexão para desenvolvimento local:
{
"IsEncrypted": false,
"Values": {
"FUNCTIONS_WORKER_RUNTIME": "<DEPENDENT ON YOUR PROGRAMMING LANGUAGE>",
"AzureWebJobsStorage": "UseDevelopmentStorage=true",
"DURABLE_TASK_SCHEDULER_CONNECTION_STRING": "Endpoint=http://localhost:8080;Authentication=None",
"TASKHUB_NAME": "default"
}
}
Configurar o emulador para Tarefas Duráveis
Puxe a imagem Docker que contenha o emulador.
docker pull mcr.microsoft.com/dts/dts-emulator:latestExecute o emulador.
docker run -d -p 8080:8080 -p 8082:8082 mcr.microsoft.com/dts/dts-emulator:latestA saída a seguir indica que o emulador foi iniciado com êxito.
Anote as portas expostas na área de trabalho do Docker. O agendador expõe várias portas para finalidades diferentes:
-
8080: endpoint gRPC que permite a uma aplicação ligar-se ao agendador -
8082: Endpoint para painel de controlo do Agendador de Tarefas Durável
-
Teste localmente
Vá para o diretório raiz do seu aplicativo e inicie o Azurite.
azurite startExecute o aplicativo.
func startVocê deve ver uma lista das funções em seu aplicativo. Se você criou a sua aplicação seguindo uma das introduções rápidas do Durable Functions, deve ver algo semelhante à seguinte saída:
Inicie uma instância de orquestração enviando uma solicitação HTTP
POSTpara o endpoint de URL usando a ferramenta de teste HTTP escolhida.Copie o valor do URL
statusQueryGetUrie cole-o na barra de endereço do seu navegador. Você deve ver o status na instância de orquestração:{ "name": "DurableFunctionsOrchestrationCSharp1", "instanceId": "b50f8b723f2f44149ab9fd2e3790a0e8", "runtimeStatus": "Completed", "input": null, "customStatus": null, "output": [ "Hello Tokyo!", "Hello Seattle!", "Hello London!" ], "createdTime": "2025-02-21T21:09:59Z", "lastUpdatedTime": "2025-02-21T21:10:00Z" }Para exibir mais detalhes sobre a instância de orquestração, acesse http://localhost:8082/ o painel do Agendador de Tarefas Duráveis.
Clique no hub de tarefas padrão para ver o seu painel.
Observação
Saiba mais sobre o painel do Agendador de Tarefas Duráveis.
O emulador Durable Task Scheduler armazena dados de orquestração na memória, o que significa que todos os dados são perdidos quando ele é desligado.
Está com problemas nos testes? Consulte o guia de solução de problemas.
Executar seu aplicativo no Azure
Criar os recursos necessários
Crie uma instância do Agendador de Tarefas Durável e o aplicativo Azure Functions no Azure seguindo o fluxo de criação integrado do aplicativo Function. Essa experiência configurará automaticamente o acesso baseado em identidade e configurará as variáveis de ambiente necessárias para que o aplicativo acesse o agendador.
Navegue até ao painel de criação da aplicação de função.
Na lâmina Create Function App (Flex Consumption), preencha a informação no separador Basics .
Campo Descrição Subscrição Selecione sua assinatura do Azure. Grupo de Recursos Selecione um grupo de recursos existente ou clique em Criar novo para criar um novo. Função Nome do aplicativo Crie um nome exclusivo para seu aplicativo de função. Deseja implantar código ou imagem de contêiner? Mantenha a opção Código selecionada. Região Selecione uma das regiões suportadas. Pilha de tempo de execução Selecione o tempo de execução que você está usando para este início rápido. Versão Selecione a versão da sua stack de tempo de execução. Tamanho da instância Selecione o tamanho de uma instância ou use a seleção padrão. Saiba mais sobre tamanhos de instância. Redundância entre Zonas Mantenha a configuração padrão Desativado. Selecione o separador Funções Duráveis.
Escolha Azure Managed: Durable Task Scheduler como fornecedor de backend para as suas Funções Duradouras.
Crie um recurso de agendador. Esta ação cria automaticamente um hub de tarefas.
Campo Descrição Backend de armazenamento Selecione Azure gerido pela: Agendador de Tarefas Duráveis. Região Certifica-te de que as regiões do agendador e da aplicação de funções são as mesmas. Agendador de tarefas durável Use o nome do agendador oferecido ou clique em Criar novo para criar um nome personalizado. Plano Selecione o plano de preços que melhor se adequa ao seu projeto. Consulte o guia Escolhendo uma estrutura de orquestração para determinar qual o melhor plano para uso em produção. Unidades de capacidade Aplicável apenas quando o plano de preços "Dedicado" é selecionado. Pode selecionar até 3 Unidades de Capacidade. Clique em Verificar + criar para verificar a criação do recurso.
Uma identidade gerenciada atribuída pelo usuário com a permissão RBAC (controle de acesso baseado em função) necessária é criada automaticamente e adicionada ao aplicativo Função. Você pode encontrar na exibição de resumo informações relacionadas ao recurso de identidade gerenciado, como:
A função atribuída a ele (Contribuidor de Dados de Tarefa Durável)
A atribuição limitada ao nível do hub de tarefas
Clique em Criar quando a validação for aprovada.
A implantação de recursos pode levar cerca de 15 a 20 minutos. Quando isso estiver concluído, você poderá implantar seu aplicativo no Azure.
Implantar seu aplicativo de função no Azure
Importante
A implementação numa aplicação de funções existente sempre sobrescreve o conteúdo dessa aplicação no Azure.
Na paleta de comandos, insira e selecione Azure Functions: Deploy to Function App.
Selecione o aplicativo de função que você acabou de criar. Quando for solicitado para substituir implantações anteriores, selecione Implantar para transferir o seu código de função para o novo recurso da aplicação de funções.
Quando a implantação estiver concluída, selecione Exibir Saída para exibir os resultados da criação e da implantação, incluindo os recursos do Azure que você criou. Se você perder a notificação, selecione o ícone de sino no canto inferior direito para vê-lo novamente.
Apps no plano Functions Premium
Se seu aplicativo estiver sendo executado no plano Functions Premium, ative a configuração Monitoramento de escala de tempo de execução após a implantação para garantir que seu aplicativo seja dimensionado automaticamente com base na carga:
az resource update -g <resource_group> -n <function_app_name>/config/web --set properties.functionsRuntimeScaleMonitoringEnabled=1 --resource-type Microsoft.Web/sites
Testar seu aplicativo de função
Execute o seguinte comando para obter o URL da sua função:
az functionapp function list --resource-group <RESOURCE_GROUP_NAME> --name <FUNCTION_APP_NAME> --query '[].{Function:name, URL:invokeUrlTemplate}' --output json
Verificar o estado da orquestração
Verifique o status da instância de orquestração e os detalhes da atividade no painel do Agendador de Tarefas Duráveis. Para aceder ao painel é necessário iniciar sessã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.
Navegue até ao recurso Durable Task Scheduler no portal.
Clique no nome de um hub de tarefas.
No menu à esquerda, selecione Controle de acesso (IAM).
Clique em Adicionar para adicionar uma atribuição de função.
Pesquise e selecione Colaborador de Dados de Tarefa Durável. Clique em Next.
Na guia Membros, para Atribuir acesso a, selecione Usuário, grupo ou entidade de serviço.
Para Membros, clique em + Selecionar membros.
No painel Selecionar membros , procure o seu nome ou e-mail:
Escolha seu e-mail e clique no botão Selecionar .
Clique em Rever e atribuir para concluir a atribuição do papel.
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 .
Limpar recursos
Se você não precisar mais dos recursos que criou para concluir o início rápido, para evitar custos relacionados em sua assinatura do Azure, exclua o grupo de recursos e todos os recursos relacionados.
Próximos passos
- Saiba mais sobre o painel do Agendador de Tarefas Duráveis.
- Solucione quaisquer erros que você possa encontrar ao usar o Agendador de Tarefas Duráveis.