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.
Neste quickstart, utilizas o Visual Studio Code para criar e testar uma aplicação PowerShell Durable Functions que orquestra e encadeia chamadas para outras funções. Depois publica-o no Azure.
O Durable Functions gere o estado, checkpoints e reinícios na sua aplicação, permitindo-lhe escrever workflows com estado num ambiente sem servidor.
Pré-requisitos
Para concluir este arranque rápido, necessita de:
Visual Studio Code instalado.
A extensão Funções do Azure do Visual Studio Code foi instalada.
A versão mais recente do Funções do Azure 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 assinatura do Azure. Para usar o Durable Functions, deve ter uma conta no Armazenamento do Azure.
Se não tiver uma conta do Azure, crie uma conta gratuita antes de começar.
Criar o seu projeto local
Nesta secção, utiliza o Visual Studio Code para criar um projeto local do Funções do Azure.
No Visual Studio Code, selecione F1 (ou selecione Ctrl/Cmd+Shift+P) para abrir a paleta de comandos. No prompt (
>), entre e depois selecione Funções do Azure: 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:
Prompt Action 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 Funções do Azure 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 Funções do Azure 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.
Configurar o SDK autónomo Durable Functions
O SDK autónomo oferece o melhor desempenho e as funcionalidades mais recentes para o PowerShell Durable Functions. Configure-o em três etapas:
Passo 1: Abra local.settings.json e verifique se as seguintes definições estão presentes. Adicione-os ou atualize-os se necessário:
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "",
"FUNCTIONS_WORKER_RUNTIME": "powershell",
"FUNCTIONS_WORKER_RUNTIME_VERSION" : "7.4",
"ExternalDurablePowerShellSDK": "true"
}
}
Passo 2: Abra requirements.psd1 e adicione a dependência do SDK:
@{
'AzureFunctions.PowerShell.Durable.SDK' = '2.*'
}
O especificador 2.* garante que obtém a versão estável mais recente 2.x do Galeria do PowerShell.
Passo 3: Adicione a seguinte linha ao final do seu profile.ps1 ficheiro:
Import-Module AzureFunctions.PowerShell.Durable.SDK -ErrorAction Stop
Crie as suas funções
Uma aplicação básica de Durable Functions tem três funções:
| Tipo de função | Purpose |
|---|---|
| Orquestrador | Um fluxo de trabalho que orquestra outras funções. |
| Activity | Chamado pelo orquestrador para realizar a tarefa e devolver um valor. |
| Cliente (iniciador HTTP) | Uma função ativada por HTTP que inicia um orquestrador. |
Para cada função, abra a paleta de comandos e selecione Funções do Azure: Criar Função, depois forneça os valores solicitados:
1. Função de orquestrador
| Prompt | valor |
|---|---|
| Selecione um modelo | Orquestrador de Durable Functions |
| Nome da função | HelloOrchestrator |
Abre o HelloOrchestrator/run.ps1 para veres o orquestrador. Cada chamada para Invoke-ActivityFunction invoca a Hello função de atividade.
2. Função de atividade
| Prompt | valor |
|---|---|
| Selecione um modelo | Atividade de Durable Functions |
| Nome da função | Olá |
Abre Hello/run.ps1 para veres que recebe um nome como entrada e devolve uma saudação. As funções de atividade são onde realizas ações como chamadas de base de dados ou cálculos.
3. Função cliente (HTTP starter)
| Prompt | valor |
|---|---|
| Selecione um modelo | Iniciador HTTP de Funções Duráveis |
| Nome da função | HttpStart |
| Nível de autorização | Anónimo (para fins de demonstração) |
Abra HttpStart/run.ps1 para verificar se utiliza Start-NewOrchestration para iniciar uma nova orquestração e New-OrchestrationCheckStatusResponse para devolver uma resposta HTTP com URLs de monitorização.
Agora tens uma aplicação Durable Functions que podes executar localmente e implementar no Azure.
Sugestão
Este início rápido utiliza o SDK autónomo do Durable Functions do PowerShell. 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 Funções do Azure Core Tools dá-lhe a capacidade de executar um projeto Funções do Azure 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.Observação
Para mais informações sobre depuração, consulte diagnósticos do Durable Functions.
Durable Functions requer uma conta de armazenamento para ser executado. Pode usar o emulador de armazenamento Azurite para desenvolvimento local, ou criar uma conta de armazenamento Azure quando solicitado. Se 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.
Prompt Action 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 Insira um nome exclusivo. O nome da conta de armazenamento a ser criada. Selecione um grupo de recursos Insira 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. Deverá ver uma resposta a mostrar a instância concluída, com as saídas da função duradoura:
{ "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 parar a depuração no Visual Studio Code, pressione 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.
Caso ainda não tenha iniciado sessão, na Barra de Atividades, selecione o ícone do Azure. Em seguida, em Recursos, selecione Entrar no 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 uma Conta do Azure para Estudantes.
Quando você for solicitado no navegador, selecione sua conta do Azure e entre usando suas credenciais de conta do 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 seção, você cria um aplicativo de função no plano Flex Consumption junto com 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ção com opções avançadas.
No Visual Studio Code, selecione F1 para abrir a paleta de comandos. No aviso de comando (
>), introduza e selecione Funções do Azure: Criar Aplicação de Funções no Azure.Nos prompts, forneça as seguintes informações:
Prompt Action Selecionar subscrição Selecione a assinatura do Azure a ser usada. 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 Funções do Azure. 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 Serviço de Aplicações do Azure, que define o host subjacente para a sua aplicação 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ção.
- 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.
Sugestão
Por padrão, os recursos do Azure exigidos pelo seu aplicativo de função são criados com base no nome que você insere para seu aplicativo de função. 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
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.
Teste a sua função no Azure
No portal Azure (ou usando o CLI do Azure), verifique se a definição da aplicação
ExternalDurablePowerShellSDKestá definida paratrue. Se estiver em falta, adiciona-a em Definições>Variáveis de Ambiente e reinicia a aplicação de funções.Copie a URL do gatilho HTTP do painel de saída. O URL deve estar neste formato:
https://<functionappname>.azurewebsites.net/api/orchestrators/HelloOrchestratorEnvie um pedido HTTP POST para a URL. Deverias receber a mesma resposta de estado que obtiveste quando fizeste o teste localmente.
Se a orquestração não começar, verifique os registos da aplicação de funções no portal Azure em Monitor>Log stream para erros relacionados com a importação do SDK ou a conectividade de armazenamento.
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.