Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Use o Durable Task Scheduler como backend para seus aplicativos do Durable Functions para armazenar o estado de orquestração e o estado de tempo de execução das entidades. Neste início rápido, você clona um exemplo do Hello Cities que já está configurado para usar o Agendador de Tarefas Duráveis, executá-lo localmente com o emulador e, em seguida, implantá-lo no Azure.
- Clone o exemplo Hello Cities pré-configurado com o Agendador de Tarefas Duráveis.
- Configure o emulador do Agendador de Tarefas Duráveis para desenvolvimento local.
- Execute o exemplo e verifique a saída da orquestração.
- Implante seu aplicativo para Azure e monitore-o por meio do painel do Agendador de Tarefas Duráveis.
Pré-requisitos
Dica
Depois que o emulador estiver em execução, você poderá acessar o painel http://localhost:8082 do Agendador de Tarefas Duráveis para monitorar orquestrações.
Executar o exemplo de início rápido
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áveis requer Microsoft.Azure.Functions.Worker.Extensions.DurableTask versão 1.2.2 ou superior.
Crie e inicie o aplicativo de funções:
dotnet build func start
Em host.json, atualize a extensionBundle propriedade para usar a versão 4.32.0 ou posterior, que inclui suporte ao Agendador de Tarefas Duráveis:
{
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.32.0, 5.0.0)"
}
}
Inicie o aplicativo de funções:
func start
Crie e inicie o aplicativo de funções:
mvn clean package mvn azure-functions:run
Em um terminal separado, dispare uma orquestração:
$response = Invoke-RestMethod -Method POST -Uri http://localhost:7071/api/DurableFunctionsOrchestrationCSharp1_HttpStart $response
Em um terminal separado, inicie uma orquestração:
$response = Invoke-RestMethod -Method POST -Uri http://localhost:7071/api/StartChaining $response
A resposta contém URLs de status para a instância de orquestração. Consulte o
statusQueryGetUripara verificar o resultado:Invoke-RestMethod -Uri $response.statusQueryGetUriQuando a orquestração
runtimeStatuséCompleted, a saída contém resultados de saudação. SeruntimeStatusmostrarRunningouPending, aguarde um momento e faça a consulta novamente.Exiba mais detalhes sobre a instância de orquestração no painel do Agendador de Tarefas Duráveis em
http://localhost:8082.
Entender a configuração do Agendador de Tarefas Duráveis
A configuração de chave que faz esses exemplos usarem o Agendador de Tarefas Duráveis está em dois arquivos.
host.json
A seção storageProvider indica ao Durable Functions que use o Agendador de Tarefas Duráveis (azureManaged) em vez do back-end padrão do Armazenamento do Azure:
{
"extensions": {
"durableTask": {
"hubName": "default",
"storageProvider": {
"type": "azureManaged",
"connectionStringName": "DURABLE_TASK_SCHEDULER_CONNECTION_STRING"
}
}
}
}
local.settings.json
A cadeia de conexão aponta para o emulador local para o desenvolvimento:
{
"Values": {
"DURABLE_TASK_SCHEDULER_CONNECTION_STRING": "Endpoint=http://localhost:8080;TaskHub=default;Authentication=None"
}
}
Observação
Para migrar um aplicativo Durable Functions existente, atualize esses dois arquivos e adicione o pacote de extensão apropriado para seu idioma. Para .NET, instale o Microsoft.Azure. Functions.Worker.Extensions.DurableTask.AzureManaged pacote NuGet. Para outros idiomas, atualize o pacote de extensão em host.json para a versão [4.32.0, 5.0.0).
Execute seu aplicativo no Azure
Criar recursos necessários
Crie uma instância do Agendador de Tarefas Durável e um aplicativo do Azure Functions no Azure seguindo o fluxo de criação integrada do aplicativo de funções. Essa experiência configurará automaticamente o acesso baseado em identidade e configurará as variáveis de ambiente necessárias para o aplicativo acessar o agendador.
Navegue até a página de criação do aplicativo Function.
Na lâmina Criar Aplicativo Function (Consumo Flexível), preencha as informações na guia Básico.
Campo Descrição Subscription Selecione sua assinatura do Azure. Grupo de Recursos Selecione um grupo de recursos ou clique em Criar novo para criar um. Nome do aplicativo de funções Crie um nome exclusivo para seu aplicativo de funções. Deseja implantar código ou imagem de contêiner? Mantenha a opção Código selecionada. Região Selecione uma das regiões com suporte. Pilha de tempo de execução Selecione o runtime que você está usando para este início rápido. Versão Selecione sua versão de pilha de runtime. Tamanho da instância Selecione um tamanho de instância ou use a seleção padrão. Saiba mais sobre tamanhos de instância. Redundância de Zona Deixe como a configuração padrão Desabilitada . Selecione a guia Durable Functions.
Escolha o Azure gerenciado: Agendador de Tarefas Duráveis como o provedor de back-end para suas Funções Duráveis.
Crie um recurso de agendador. Essa ação cria automaticamente um hub de tarefas.
Campo Descrição Backend de armazenamento Selecione gerenciado pelo Azure: Agendador de Tarefas Duráveis. Região Verifique se as regiões do agendador e do aplicativo de funções são as mesmas. Agendador de tarefas duráveis 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 ajusta ao seu projeto. Verifique o guia escolher uma estrutura de orquestração para determinar qual plano é melhor para uso em produção. Unidades de capacidade Aplicável somente quando o plano de preços "Dedicado" é selecionado. Você pode selecionar até três Unidades de Capacidade. Clique em Examinar + criar para examinar a criação de recursos.
Uma identidade gerenciada atribuída pelo usuário com a permissão de controle de acesso baseado em função (RBAC) necessária é criada automaticamente e adicionada ao aplicativo de funções. Você pode encontrar na exibição de resumo informações relacionadas ao recurso de identidade gerenciada, como:
A função atribuída a ela (Colaborador de Dados de Tarefas Duráveis)
A atribuição com escopo ao nível do hub de tarefas
Clique em Criar depois que a validação for aprovada.
A implantação de recursos pode levar cerca de 15 a 20 minutos. Depois que isso for concluído, você poderá implantar seu aplicativo no Azure.
Implantar seu aplicativo de funções para Azure
Importante
A implantação em um aplicativo de funções existente sempre substitui o conteúdo do aplicativo no Azure.
Na paleta de comandos, insira e, em seguida, selecione Azure Functions: implantar no Aplicativo de Funções.
Selecione o aplicativo de funções que você acabou de criar. Quando solicitado sobre a substituição de implantações anteriores, selecione Implantar para implantar seu código de função no novo recurso do aplicativo de funções.
Quando a implantação for concluída, selecione View Output para exibir os resultados de criação e implantação, incluindo os recursos de Azure que você criou. Se você não viu a notificação, selecione o ícone do sino no canto inferior direito para vê-la novamente.
Apps no plano do Functions Premium
Se o aplicativo estiver em execução no plano do Functions Premium, ative a configuração de Monitoramento de Escala do Runtime após a implantação para garantir que o aplicativo faça dimensionamentos automáticos 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ções
Execute o seguinte comando para obter a URL da função:
az functionapp function list --resource-group <RESOURCE_GROUP_NAME> --name <FUNCTION_APP_NAME> --query '[].{Function:name, URL:invokeUrlTemplate}' --output json
Verificar o status 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. Acessar o painel exige que você faça logon.
Observação
A instrução a seguir mostra uma atribuição de função com escopo para 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é o recurso Agendador de Tarefas Duráveis no portal.
Clique em um nome de 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 da Tarefa Durável. Clique em Próximo.
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, pesquise seu nome ou email:
Escolha seu email e clique no botão Selecionar.
Clique em Examinar + atribuir para concluir a atribuição da função.
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 os 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 Azure, delete o grupo de recursos e todos os recursos relacionados.
Próximas Etapas
- Saiba mais sobre o painel do Agendador de Tarefas Duráveis.
- Solucione os erros que você pode encontrar ao usar o Agendador de Tarefas Duráveis.