Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Use o Durable Task Scheduler como backend para as suas aplicações Durable Functions para armazenar orquestração e o estado de execução da entidade. Neste quickstart, clonas um exemplo do Hello Cities que já está configurado para usar o Durable Task Scheduler, executas-no localmente com o emulador e depois implementas-no no Azure.
- Clone o exemplo Hello Cities pré-configurado para utilização com o Durable Task Scheduler.
- Configure o emulador Durable Task Scheduler para desenvolvimento local.
- Execute o exemplo e verifique a saída da orquestração.
- Implemente a sua aplicação no Azure e monitore-a através do painel do Durable Task Scheduler.
Pré-requisitos
Gorjeta
Assim que o emulador estiver em execução, pode aceder ao painel do Durable Task Scheduler em http://localhost:8082 para monitorizar as orquestrações.
Executa a amostra 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 Durable Task Scheduler requer Microsoft. Azure. Functions.Worker.Extensions.DurableTask versão 1.2.2 ou superior.
Compile e inicie a aplicação 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 Durable Task Scheduler:
{
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.32.0, 5.0.0)"
}
}
Inicie a aplicação de função:
func start
Compile e inicie a aplicação de funções:
mvn clean package mvn azure-functions:run
Num terminal separado, acione uma orquestração:
$response = Invoke-RestMethod -Method POST -Uri http://localhost:7071/api/DurableFunctionsOrchestrationCSharp1_HttpStart $response
Num terminal separado, acione uma orquestração:
$response = Invoke-RestMethod -Method POST -Uri http://localhost:7071/api/StartChaining $response
A resposta contém URLs de estado da instância de orquestração. Consulte o
statusQueryGetUripara verificar o resultado:Invoke-RestMethod -Uri $response.statusQueryGetUriQuando o
runtimeStatusda orquestração éCompleted, o resultado contém resultados de saudação. SeruntimeStatusmostrarRunningouPending, espera um momento e volta a fazer a pergunta.Veja mais detalhes sobre a instância de orquestração no painel do Durable Task Scheduler em
http://localhost:8082.
Compreenda a configuração do Durable Task Scheduler
A configuração chave que faz com que estes exemplos utilizem o Durable Task Scheduler encontra-se em dois ficheiros.
host.json
A secção storageProvider indica que o Durable Functions deve utilizar o Durable Task Scheduler (azureManaged) em vez do backend predefinido do Armazenamento do Azure:
{
"extensions": {
"durableTask": {
"hubName": "default",
"storageProvider": {
"type": "azureManaged",
"connectionStringName": "DURABLE_TASK_SCHEDULER_CONNECTION_STRING"
}
}
}
}
local.settings.json
A cadeia de ligação aponta para o emulador local para fins de desenvolvimento:
{
"Values": {
"DURABLE_TASK_SCHEDULER_CONNECTION_STRING": "Endpoint=http://localhost:8080;TaskHub=default;Authentication=None"
}
}
Observação
Para migrar uma aplicação Durable Functions existente, atualize estes dois ficheiros e adicione o pacote de extensões apropriado para a sua linguagem. Para .NET, instala o pacote NuGet Microsoft.Azure.Functions.Worker.Extensions.DurableTask.AzureManaged. Para outras linguagens, atualize o pacote de extensões em host.json para a versão [4.32.0, 5.0.0).
Execute a sua aplicação no Azure
Criar os recursos necessários
Crie uma instância do Agendador de Tarefas Durável e o aplicativo Funções do Azure 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 Subscription 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.
Implemente a sua aplicação de funções 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 Funções do Azure: 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 implementação estiver concluída, selecione Ver Saída para visualizar os resultados da criação e implementação, incluindo os recursos Azure que 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 .
Limpeza de recursos
Se já não precisares dos recursos que criaste para completar o quickstart, para evitar custos relacionados na tua subscrição Azure, elimina o grupo de recursos e todos os recursos relacionados.
Passos seguintes
- 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.