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 Durable Functions, uma funcionalidade do Azure Functions, para escrever funções com estado num ambiente serverless. Instala-se Durable Functions ao instalar a extensão Azure Functions no Visual Studio Code. A extensão gerencia o estado, os pontos de verificação e as reinicializações em seu aplicativo.
Neste Quickstart, utilizas a extensão Durable Functions no Visual Studio Code para criar e testar localmente uma aplicação Durable Functions "hello world" no Azure Functions. A aplicação Durable Functions coordena e liga em cadeia chamadas a outras funções. Depois, publicas o código da função no Azure. As ferramentas que utiliza estão disponíveis através da extensão Visual Studio Code.
Pré-requisitos
Para concluir este guia de início rápido, necessita de:
Visual Studio Code instalado.
A extensão Azure Functions do Visual Studio Code foi instalada.
A versão mais recente do Azure Functions Core Tools instalada.
Uma ferramenta de teste HTTP que mantém seus dados seguros. Para obter mais informações, consulte Ferramentas de teste HTTP.
Uma subscrição do Azure. Para usar o Durable Functions, deve ter uma conta no Azure Storage.
Se não tiver uma conta Azure, crie uma conta free antes de começar.
Criar o seu projeto local
Nesta secção, utiliza o Visual Studio Code para criar um projeto local do Azure Functions.
No Visual Studio Code, selecione F1 (ou selecione Ctrl/Cmd+Shift+P) para abrir a paleta de comandos. No prompt (
>), entre e depois selecione Azure Functions: Criar Novo Projeto.
Selecione Procurar. Na caixa de diálogo Selecionar pasta, vá para uma pasta a ser usada para seu projeto e escolha Selecionar.
Nos prompts, forneça as seguintes informações:
Pedido Ação Descrição Selecione um idioma para seu projeto de aplicativo de função Selecione PowerShell. Cria um projeto local do PowerShell Functions. Selecione uma versão Selecione Azure Functions v4. Você verá essa opção somente quando o Core Tools ainda não estiver instalado. Nesse caso, o Core Tools é instalado na primeira vez que você executa o aplicativo. Selecione um modelo para a primeira função do seu projeto Selecione Ignorar por enquanto. Selecione como gostaria de abrir o seu projeto Selecione Abrir na janela atual. Abre o Visual Studio Code na pasta que selecionaste.
O Visual Studio Code instala o Azure Functions Core Tools se for necessário para criar um projeto. Ele também cria um projeto de aplicativo de função em uma pasta. Este projeto contém os arquivos de configuração host.json e local.settings.json .
Um arquivo package.json também é criado na pasta raiz.
Configure a aplicação de funções para usar o PowerShell 7.4 e o SDK independente Durable Functions
Abra o arquivo local.settings.json e confirme se uma configuração nomeada FUNCTIONS_WORKER_RUNTIME_VERSION está definida como 7.4 e uma configuração nomeada ExternalDurablePowerShellSDK está definida como true. Se eles estiverem faltando ou se estiverem definidos para outros valores, atualize o conteúdo do arquivo.
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "",
"FUNCTIONS_WORKER_RUNTIME": "powershell",
"FUNCTIONS_WORKER_RUNTIME_VERSION" : "7.4",
"ExternalDurablePowerShellSDK": "true"
}
}
Em seguida, especifique uma entrada para o DF SDK em seu requirements.psd1 arquivo, como no exemplo abaixo:
# This file enables modules to be automatically managed by the Functions service.
# See https://aka.ms/functionsmanageddependency for additional information.
#
@{
# For latest supported version, go to 'https://www.powershellgallery.com/packages/AzureFunctions.PowerShell.Durable.SDK/'.
'AzureFunctions.PowerShell.Durable.SDK' = '2.*'
}
Certifique-se de usar a versão mais recente do módulo AzureFunctions.PowerShell.Durable.SDK . O 2.* especificador de versão garante que você obtenha a versão 2.x estável mais recente.
Adicione a seguinte linha ao ficheiro profile.ps1 (normalmente, no final do ficheiro):
Import-Module AzureFunctions.PowerShell.Durable.SDK -ErrorAction Stop
Crie as suas funções
A aplicação Durable Functions mais básica tem três funções:
- Função Orquestrador: um fluxo de trabalho que orquestra outras funções.
- Função de atividade: uma função que é chamada pela função orquestradora, executa trabalho e, opcionalmente, retorna um valor.
- Função Client: Uma função regular na Azure que inicia uma função de orquestração. Este exemplo usa uma função acionada por HTTP.
Função orquestradora
Use um modelo para criar o código da aplicação Durable Functions no seu projeto.
Na paleta de comandos, enter e depois selecione Azure Functions: Criar Função.
Nos prompts, forneça as seguintes informações:
Pedido Ação Descrição Selecione um modelo para a sua função Entra em cena Durable Functions orchestrator. Cria uma orquestração de aplicação Durable Functions. Fornecer um nome de função Insira HelloOrchestrator. Um nome para a sua função durável.
Você adicionou um orquestrador para coordenar as funções de atividade. Abra HelloOrchestrator/run.ps1 para ver a função orchestrator. Cada chamada para o cmdlet Invoke-ActivityFunction invoca uma função de atividade chamada Hello.
Em seguida, você adiciona a função de atividade referenciada Hello .
Função de atividade
Na paleta de comandos, enter e depois selecione Azure Functions: Criar Função.
Nos prompts, forneça as seguintes informações:
Pedido Ação Descrição Selecione um modelo para a sua função Selecione atividade Durable Functions. Cria uma função de atividade. Fornecer um nome de função Digite Olá. O nome da sua função de atividade.
Você adicionou a função de atividade Hello que é invocada pelo orquestrador. Abre Hello/run.ps1 para veres que recebe um nome como entrada e devolve uma saudação. Uma função de atividade é onde você executa ações como fazer uma chamada de banco de dados ou executar um cálculo.
Finalmente, você adiciona uma função acionada por HTTP que inicia a orquestração.
Função de cliente (HTTP starter)
Na paleta de comandos, enter e depois selecione Azure Functions: Criar Função.
Nos prompts, forneça as seguintes informações:
Pedido Ação Descrição Selecione um modelo para a sua função Selecione Durable Functions HTTP starter. Cria uma função inicial HTTP. Fornecer um nome de função Digite HttpStart. O nome da sua função de atividade. Nível de autorização Selecione Anônimo. Para fins de demonstração, esse valor permite que a função seja chamada sem usar autenticação.
Você adicionou uma função acionada por HTTP que inicia uma orquestração. Abra HttpStart/run.ps1 para verificar se ele usa o cmdlet Start-NewOrchestration para iniciar uma nova orquestração. Em seguida, ele usa o cmdlet New-OrchestrationCheckStatusResponse para retornar uma resposta HTTP que contém URLs que podem ser usadas para monitorar e gerenciar a nova orquestração.
Agora tens uma aplicação Durable Functions que podes executar localmente e implementar no Azure.
Gorjeta
Este quickstart utiliza o SDK independente Durable Functions PowerShell, que agora está disponível de forma geral e oferece o melhor desempenho e as funcionalidades mais recentes. Para obter mais informações sobre o SDK e a migração da versão interna herdada, consulte o guia autônomo do SDK do PowerShell.
Testar localmente a função
O Azure Functions Core Tools dá-lhe a capacidade de executar um projeto Azure Functions no seu computador local de desenvolvimento. É solicitado que instale estas ferramentas na primeira vez que inicia uma função no Visual Studio.
Para testar sua função, defina um ponto de interrupção no código da
Hellofunção de atividade (em Hello/run.ps1). Selecione F5 ou selecione Depurar: Iniciar depuração na paleta de comandos para iniciar o projeto de aplicativo de função. A saída das Ferramentas Principais aparece no painel do terminal.Nota
Para obter informações sobre depuração, consulte diagnósticos de Durable Functions.
O Durable Functions requer uma conta de armazenamento no Azure para ser executado. Quando Visual Studio Code pedir para selecionar uma conta de armazenamento, escolha Select storage account.
Nos prompts, forneça a seguinte informação para criar uma nova conta de armazenamento no Azure.
Pedido Ação Descrição Selecionar subscrição Selecione o nome da sua subscrição. A tua subscrição do Azure. Selecione uma conta de armazenamento Selecione Criar uma nova conta de armazenamento. Insira o nome da nova conta de armazenamento Introduza um nome exclusivo. O nome da conta de armazenamento a ser criada. Selecione um grupo de recursos Introduza um nome exclusivo. O nome do grupo de recursos a ser criado. Selecione um local Selecione uma região do Azure. Selecione uma região próxima a você. No painel do terminal, copie o URL de endpoint da sua função acionada por HTTP.
Use seu navegador ou uma ferramenta de teste HTTP para enviar uma solicitação HTTP POST para o ponto de extremidade URL.
Substitua o último segmento pelo nome da função orquestradora (
HelloOrchestrator). O URL deve ser semelhante ahttp://localhost:7071/api/orchestrators/HelloOrchestrator.A resposta é o resultado inicial da função HTTP. Ele permite que você saiba que a orquestração durável começou com sucesso. Ainda não exibe o resultado final da orquestração. A resposta inclui alguns URLs úteis. Por enquanto, verifique o estado da orquestração.
Copie o valor da URL para
statusQueryGetUri, cole-o na barra de endereço do navegador e execute a solicitação. Você também pode continuar a usar sua ferramenta de teste HTTP para emitir a solicitação GET.A solicitação consulta o estado da instância de orquestração. Você deve obter uma resposta final, que mostra a instância concluída e inclui as saídas ou resultados da função durável. Este exemplo é parecido com este:
{ "name": "HelloOrchestrator", "instanceId": "9a528a9e926f4b46b7d3deaa134b7e8a", "runtimeStatus": "Completed", "input": null, "customStatus": null, "output": [ "Hello Tokyo!", "Hello Seattle!", "Hello London!" ], "createdTime": "2020-03-18T21:54:49Z", "lastUpdatedTime": "2020-03-18T21:54:54Z" }Para interromper a depuração, no Visual Studio Code, selecione Shift+F5.
Depois de verificar se a função corre corretamente no seu computador local, é altura de publicar o projeto no Azure.
Iniciar sessão no Azure
Antes de poderes criar recursos do Azure ou publicar a tua aplicação, tens de iniciar sessão no Azure.
Se ainda não tiver iniciado sessão, selecione o ícone Azure na Barra de Atividades. Depois, em Resources, selecione Iniciar sessão em Azure.
Se já tiver sessão iniciada e visualizar as suas subscrições existentes, vá para a seção seguinte. Se ainda não tem uma conta Azure, selecione Criar uma Conta Azure. Os alunos podem selecionar Criar um Azure para a Conta dos Alunos.
Quando for solicitado no navegador, selecione a sua conta Azure e inicie sessão usando as credenciais da sua conta Azure. Se criar uma nova conta, pode iniciar sessão depois de a sua conta ser criada.
Depois de iniciar sessão com êxito, pode fechar a nova janela do browser. As subscrições que pertencem à sua conta Azure são exibidas na barra lateral.
Criar a aplicação de funções no Azure
Nesta secção, cria uma aplicação de funções no plano Flex Consumption juntamente com recursos relacionados na sua subscrição do Azure. Muitas das decisões de criação de recursos são tomadas para você com base em comportamentos padrão. Para obter mais controle sobre os recursos criados, você deve, em vez disso , criar seu aplicativo de função com opções avançadas.
No Visual Studio Code, selecione F1 para abrir a paleta de comandos. No prompt (
>), introduza e depois selecione Azure Functions: Criar Aplicação de Função em Azure.Nos prompts, forneça as seguintes informações:
Pedido Ação Selecionar subscrição Selecione a subscrição do Azure para usar. O prompt não aparece quando você tem apenas uma assinatura visível em Recursos. Insira um novo nome de aplicativo de função Insira um nome globalmente exclusivo que seja válido em um caminho de URL. O nome que inserires é validado para garantir que é único no Azure Functions. Selecione um local para novos recursos Selecione uma região do Azure. Para um melhor desempenho, selecione uma região perto de si. Apenas as regiões suportadas pelos planos Flex Consumption são apresentadas. Selecione uma pilha de tempo de execução Selecione a versão de idioma que você executa localmente no momento. Selecionar tipo de autenticação de recurso Selecione Identidade gerenciada, que é a opção mais segura para se conectar à conta de armazenamento de host padrão. No painel Azure: Activity Log, a extensão Azure mostra o estado dos recursos individuais à medida que são criados em Azure.
Quando a aplicação de funções é criada, os seguintes recursos relacionados são criados na sua subscrição do Azure. Os recursos são nomeados com base no nome que você inseriu para seu aplicativo de função.
- Um grupo de recursos, que é um contêiner lógico para recursos relacionados.
- Um aplicativo de função, que fornece o ambiente para executar seu código de função. Um aplicativo de função permite agrupar funções como uma unidade lógica para facilitar o gerenciamento, a implantação e o compartilhamento de recursos dentro do mesmo plano de hospedagem.
- Um plano do Azure App Service, que define o host subjacente para a sua aplicação de funções.
- Uma conta padrão Azure Storage, que é usada pelo anfitrião de Funções para manter o estado e outras informações sobre a sua aplicação de funções.
- Uma instância do Application Insights conectada ao aplicativo de função e que rastreia o uso de suas funções no aplicativo.
- Uma identidade gerenciada atribuída pelo usuário que é adicionada à função de Colaborador de Dados de Blob de Armazenamento na nova conta de armazenamento de host padrão.
Depois de criar a aplicação de funções, é apresentada uma notificação e o pacote de implementação é aplicado.
Gorjeta
Por defeito, os recursos do Azure exigidos pela tua aplicação de funções são criados com base no nome que inseres para a tua aplicação de funções. Por padrão, os recursos são criados com o aplicativo de função no mesmo novo grupo de recursos. Se você quiser personalizar os nomes dos recursos associados ou reutilizar recursos existentes, publique o projeto com opções avançadas de criação.
Implementar o projeto no Azure
Importante
Implementar para uma aplicação de funções existente sobrescreve sempre o conteúdo dessa aplicação no Azure.
Na paleta de comandos, enter e depois 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 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.
Teste a sua função no Azure
Verifique se a configuração do aplicativo chamada
ExternalDurablePowerShellSDKestá definida comotrue.Copie a URL do gatilho HTTP do painel de saída. A URL que chama sua função acionada por HTTP deve estar neste formato:
https://<functionappname>.azurewebsites.net/api/orchestrators/HelloOrchestratorCole o novo URL para a solicitação HTTP na barra de endereço do navegador. Ao usar o aplicativo publicado, você pode esperar obter a mesma resposta de status que recebeu quando testou localmente.
A aplicação PowerShell Durable Functions que criou e publicou usando o Visual Studio Code está pronta a usar.
Limpar 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.
Conteúdos relacionados
- Aprenda sobre padrões comuns de aplicações de Durable Functions.