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.
Neste início rápido, você usa Visual Studio Code para criar e testar um aplicativo Durable Functions do PowerShell que orquestra e encadeia chamadas para outras funções. Em seguida, publique-o no Azure.
Durable Functions gerencia o estado, os pontos de verificação e as reinicializações em seu aplicativo, permitindo que você escreva fluxos de trabalho com estado em um ambiente sem servidor.
Pré-requisitos
Para concluir este guia de início rápido, você precisa:
Visual Studio Code instalado.
A extensão do Visual Studio Code Azure Functions está instalada.
A versão mais recente do Azure Functions Core Tools instalada.
Uma ferramenta de teste para HTTP que mantém seus dados seguros. Para obter mais informações, confira Ferramentas de teste HTTP.
Uma assinatura do Azure. Para usar Durable Functions, você deve ter uma conta Armazenamento do Azure.
Se você ainda não tiver uma conta do Azure, crie uma conta gratuita antes de começar.
Criar seu projeto local
Nesta seção, você usará Visual Studio Code para criar um projeto de Azure Functions local.
Em Visual Studio Code, selecione F1 (ou selecione Ctrl/Cmd+Shift+P) para abrir a paleta de comandos. No prompt (
>), insira e selecione Azure Functions: Criar Novo Projeto.
Selecione Procurar. Na caixa de diálogo Selecionar Pasta, vá para uma pasta a ser usada em seu projeto e escolha Selecionar.
Nos prompts, forneça as informações a seguir:
Rápido Ação Descrição Selecione uma linguagem para o seu projeto de aplicativo de funções 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 projeto Selecione Ignorar por enquanto. Selecione como deseja abrir o projeto Selecione Abrir na janela atual. Abre Visual Studio Code na pasta selecionada.
Visual Studio Code instala Azure Functions Core Tools se for necessário criar um projeto. Ele também cria o projeto de aplicativo de funções 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.
Configurar o SDK autônomo do Durable Functions
O SDK autônomo fornece o melhor desempenho e os recursos mais recentes para o PowerShell Durable Functions. Configure-o em três etapas:
Etapa 1: Abra local.settings.json e verifique se as configurações a seguir estão presentes. Adicione ou atualize-os, se necessário:
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "",
"FUNCTIONS_WORKER_RUNTIME": "powershell",
"FUNCTIONS_WORKER_RUNTIME_VERSION" : "7.4",
"ExternalDurablePowerShellSDK": "true"
}
}
Etapa 2: Abra requirements.psd1 e adicione a dependência do SDK:
@{
'AzureFunctions.PowerShell.Durable.SDK' = '2.*'
}
O especificador 2.* garante que você obtenha a versão 2.x estável mais recente do Galeria do PowerShell.
Etapa 3: Adicione a seguinte linha ao final do profile.ps1 arquivo:
Import-Module AzureFunctions.PowerShell.Durable.SDK -ErrorAction Stop
Criar suas funções
Um aplicativo de Durable Functions básico tem três funções:
| Tipo de função | Purpose |
|---|---|
| Orquestrador | Um fluxo de trabalho que orquestra outras funções. |
| Atividade | Chamado pelo orquestrador para executar o trabalho e retornar um valor. |
| Cliente (inicializador HTTP) | Uma função disparada por HTTP que inicia um orquestrador. |
Para cada função, abra a paleta de comandos e selecione Azure Functions: Criar Função e forneça os valores solicitados:
1. Função Orchestrator
| Rápido | Valor |
|---|---|
| Selecionar um modelo | <>Durable Functions orquestrador |
| Nome da função | HelloOrchestrator |
Abra o HelloOrchestrator/run.ps1 para ver o orquestrador. Cada chamada para Invoke-ActivityFunction invoca a função de atividade Hello.
2. Função de atividade
| Rápido | Valor |
|---|---|
| Selecionar um modelo | atividade de Funções Duráveis |
| Nome da função | Olá |
Abra o Hello/run.ps1 para ver que ele usa um nome como entrada e retorna uma saudação. As funções de atividade são onde você executa ações como chamadas de banco de dados ou cálculos.
3. Função de cliente (início HTTP)
| Rápido | Valor |
|---|---|
| Selecionar um modelo | Iniciador HTTP do Durable Functions |
| Nome da função | HttpStart |
| Nível de autorização | Anônimo (para fins de demonstração) |
Abra HttpStart/run.ps1 para verificar se ele usa Start-NewOrchestration para iniciar uma orquestração nova e New-OrchestrationCheckStatusResponse para retornar uma resposta HTTP com URLs de monitoramento.
Agora você tem um aplicativo Durable Functions que pode ser executado localmente e implantado no Azure.
Dica
Guia de início rápido usa o SDK autônomo do PowerShell Durable Functions. 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 a função localmente
Azure Functions Core Tools oferece a capacidade de executar um projeto Azure Functions em seu computador de desenvolvimento local. Você será solicitado a instalar essas ferramentas na primeira vez que iniciar uma função no Visual Studio.
Para testar a função, defina um ponto de interrupção no código da função de atividade
Hello(em Hello/run.ps1). Selecione F5 ou selecione Depurar: Iniciar depuração na paleta de comandos para iniciar o projeto do aplicativo de funções. A saída do Core Tools aparece no painel do terminal.Observação
Para obter mais informações sobre depuração, consulte Durable Functions diagnostics.
Durable Functions requer uma conta de armazenamento para funcionar. Você pode usar o emulador de armazenamento Azurite para desenvolvimento local ou criar uma conta de armazenamento Azure quando solicitado. Se Visual Studio Code solicitar que você selecione uma conta de armazenamento, escolha Select conta de armazenamento.
Nos prompts, forneça as informações a seguir para criar uma nova conta de armazenamento no Azure.
Rápido Ação Descrição Selecionar assinatura Selecione o nome da sua assinatura. Sua assinatura do Azure. Selecione uma conta de armazenamento Selecione Criar uma nova conta de armazenamento. Insira o nome da nova conta de armazenamento Insira um nome exclusivo. O nome da conta de armazenamento a ser criada. Selecionar um grupo de recursos Insira um nome exclusivo. Nome do grupo de recursos a ser criado. Selecionar um local Selecione uma região Azure. Selecione uma região que esteja perto de você. No painel do terminal, copie o ponto de extremidade da URL da sua função acionada por HTTP.
Use seu navegador ou uma ferramenta de teste para HTTP para enviar uma solicitação HTTP POST para o ponto de extremidade da URL.
Substitua o último segmento pelo nome da função de orquestrador (
HelloOrchestrator). A URL deve ser semelhante ahttp://localhost:7071/api/orchestrators/HelloOrchestrator.A resposta é o resultado inicial da função HTTP. Ela informa que a orquestração durável foi iniciada com sucesso. Ela ainda não exibe o resultado final da orquestração. A resposta inclui algumas URLs úteis. Por enquanto, consulte o status da orquestração.
Copie o valor da URL para
statusQueryGetUri, cole-o na barra de endereços 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 a instância de orquestração do status. Você deverá ver uma resposta mostrando a instância concluída, com as saídas da função durável:
{ "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 as teclas Shift+F5.
Depois de verificar se a função é executada corretamente no computador local, é hora de publicar o projeto para Azure.
Entrar no Azure
Antes de criar Azure recursos ou publicar seu aplicativo, você deve entrar no Azure.
Se você ainda não estiver conectado, na barra Activity, selecione o ícone Azure. Em seguida, em Recursos, selecione Fazer login no Azure.
Se você já estiver conectado e puder ver suas assinaturas existentes, vá para a próxima seção. Se você ainda não tiver uma conta Azure, selecione Criar uma conta Azure. Os alunos podem selecionar Criar uma conta do Azure for Students.
Quando você for solicitado no navegador, selecione sua conta de Azure e entre usando suas credenciais de conta Azure. Se você criar uma conta, poderá se conectar depois que a conta for criada.
Após fazer login com sucesso, você poderá fechar a nova janela do navegador. As assinaturas que pertencem à sua conta Azure são exibidas na barra lateral.
Criar o aplicativo de funções no Azure
Nesta seção, você criará um aplicativo de funções no plano de Consumo Flex juntamente com os recursos relacionados em sua assinatura 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ções com opções avançadas.
Em Visual Studio Code, selecione F1 para abrir a paleta de comandos. No prompt (
>), insira e selecione Azure Functions: Criar Aplicativo de Funções no Azure.Nos prompts, forneça as informações a seguir:
Rápido Ação Selecionar assinatura Selecione a assinatura Azure a ser usada. O prompt não aparece quando você tem apenas uma assinatura visível em Recursos. Insira um novo nome do aplicativo de funções Insira um nome global exclusivo que seja válido em um caminho de URL. O nome inserido é validado para garantir que ele seja exclusivo em Azure Functions. Selecione uma localização para novos recursos Selecione uma região Azure. Para obter um melhor desempenho, escolha uma região perto de você. Somente as regiões compatíveis com os planos de Consumo Flex são exibidas. Selecionar uma pilha de runtime Selecione a versão da linguagem que você executa localmente no momento. Selecionar tipo de autenticação de recurso Selecione a identidade gerenciada, que é a opção mais segura para se conectar à conta de armazenamento de host padrão. No painel Azure: Log de Atividades, a extensão Azure mostra o status dos recursos individuais conforme eles são criados em Azure.
Quando o aplicativo de funções é criado, os seguintes recursos relacionados são criados em sua assinatura Azure. Os recursos são nomeados com base no nome que você inseriu para o seu aplicativo de funções.
- Um grupo de recursos, que é um contêiner lógico para recursos relacionados.
- Um aplicativo de funções, que fornece o ambiente para a execução do código de função. Um aplicativo de funções lhe 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 Serviço de Aplicativo do Azure, que define o host subjacente para seu aplicativo de funções.
- Uma conta de Armazenamento do Azure padrão, que é usada pelo host do Functions para manter o estado e outras informações sobre seu aplicativo de funções.
- Uma instância do Application Insights conectada ao aplicativo de funções que acompanha o uso das suas funções no aplicativo.
- Uma identidade gerenciada atribuída pelo usuário adicionada à função Colaborador de Dados de Blobs de Armazenamento na nova conta de armazenamento de host padrão.
Uma notificação é exibida depois que seu aplicativo de funções é criado e o pacote de implantação é aplicado.
Dica
Por padrão, os recursos de Azure exigidos pelo aplicativo de funções são criados com base no nome inserido para seu aplicativo de funções. Por padrão, os recursos são criados com o aplicativo de funções no mesmo novo grupo de recursos. Se você quiser personalizar os nomes dos recursos associados ou reutilizar os recursos existentes, publique o projeto com opções avançadas de criação.
Implantar o projeto no 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.
Testar sua função no Azure
No portal Azure (ou usando o CLI do Azure), verifique se a configuração do aplicativo
ExternalDurablePowerShellSDKestá definida comotrue. Se ele estiver ausente, adicione-o emvariáveis de Ambiente de > e reinicie o aplicativo de funções.Copie a URL do gatilho HTTP do painel de saída. A URL deve estar nesse formato:
https://<functionappname>.azurewebsites.net/api/orchestrators/HelloOrchestratorEnvie uma solicitação HTTP POST para a URL. Você deve obter a mesma resposta de status que recebeu quando testou localmente.
Se a orquestração não for iniciada, verifique os logs do aplicativo de funções no portal do Azure em Monitor>Log stream e verifique se há erros relacionados à importação do SDK ou à conectividade de armazenamento.
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.