Partilhar via


Criar fluxos de trabalho de aplicativos lógicos padrão com o Visual Studio Code

Aplica-se a: Aplicativos Lógicos do Azure (Padrão)

Este guia mostra como criar localmente um exemplo de fluxo de trabalho de aplicativo lógico padrão que você pode executar em Aplicativos Lógicos do Azure de locatário único quando usa o Visual Studio Code com a extensão Aplicativos Lógicos do Azure (Padrão).

Neste guia, você cria um espaço de trabalho e um projeto de aplicativo lógico padrão, cria seu fluxo de trabalho e implanta seu projeto como um recurso de aplicativo lógico padrão no Azure, onde seu fluxo de trabalho pode ser executado em Aplicativos Lógicos do Azure de locatário único ou no Ambiente do Serviço de Aplicativo v3 (somente planos do Serviço de Aplicativo baseados no Windows). Você também pode implantar e executar seu fluxo de trabalho em qualquer lugar que o Kubernetes possa executar, como o Azure, o Serviço Kubernetes do Azure, no local ou até mesmo outros provedores de nuvem, devido ao tempo de execução conteinerizado para Aplicativos Lógicos do Azure (Padrão).

Aqui estão apenas alguns benefícios que os aplicativos lógicos padrão oferecem:

  • Você pode criar, depurar, executar e testar fluxos de trabalho localmente no ambiente de desenvolvimento local do Visual Studio Code. O portal do Azure e o Visual Studio Code fornecem a capacidade de criar, executar e implantar recursos e fluxos de trabalho do aplicativo lógico padrão. No entanto, com o Visual Studio Code, você pode executar essas tarefas localmente.

  • Seu projeto de aplicativo lógico padrão pode incluir fluxos de trabalho com e sem monitoração de estado.

  • Os fluxos de trabalho no mesmo recurso de aplicação lógica padrão e no mesmo locatário são executados no mesmo processo que o runtime dos Aplicativos Lógicos do Azure (Standard), partilhando assim os mesmos recursos e proporcionando um desempenho melhor.

O fluxo de trabalho de exemplo deste guia começa inicialmente com um gatilho de Solicitação , seguido por uma ação do Office 365 Outlook . O gatilho Request cria um ponto de extremidade chamável para o fluxo de trabalho e aguarda uma solicitação HTTPS de entrada de qualquer chamador. Quando o gatilho recebe uma solicitação e é acionado, a próxima ação é executada enviando e-mail para o destinatário especificado junto com todas as saídas de gatilho selecionadas. Mais tarde, você pode adicionar uma ação Resposta que retorna uma resposta e dados processados para o chamador.

Captura de tela que mostra o Visual Studio Code, o espaço de trabalho do aplicativo lógico, o projeto e o fluxo de trabalho.

Embora o exemplo deste guia seja baseado na nuvem e tenha apenas algumas etapas, você pode criar fluxos de trabalho usando operações de 1.400+ conectores que ajudam a integrar uma vasta gama de serviços, sistemas, aplicativos e dados na nuvem, no local e em ambientes híbridos.

À medida que avança no guia, você conclui as seguintes tarefas de alto nível:

  • Crie um espaço de trabalho e um projeto de Logic App padrão com um fluxo de trabalho em branco e com estado.
  • Adicione um gatilho e ações ao seu fluxo de trabalho.
  • Executa, depura e testa localmente.
  • Revise o histórico de execução do fluxo de trabalho.
  • Encontre detalhes do nome de domínio para acesso ao firewall.
  • Ative o histórico de execução para fluxos de trabalho sem estado.
  • Implante no Azure, o que inclui habilitar opcionalmente o Application Insights.
  • Habilite ou abra o Application Insights após a implantação.
  • Gerencie seu recurso de aplicativo lógico implantado no Visual Studio Code e no portal do Azure.

Pré-requisitos

Requisitos de acesso e conectividade

Se você planeja criar e executar fluxos de trabalho localmente usando apenas operações internas, que são executadas nativamente no tempo de execução dos Aplicativos Lógicos do Azure (Padrão), não precisará dos requisitos de acesso e conectividade nesta seção. No entanto, para os seguintes cenários, você precisa atender a esses requisitos:

  • Implante seu aplicativo lógico no Azure a partir do Visual Studio Code.
  • Crie um fluxo de trabalho que utilize operações de conector gerido executadas no Azure global.
  • Acesse recursos e fluxos de trabalho existentes do aplicativo lógico Standard no Azure ou em outros recursos implantados do Azure.

Esses requisitos incluem os seguintes itens:

  • Uma conta Azure e uma assinatura. Se não tiver uma subscrição, inscreva-se numa conta do Azure gratuita.

  • Acesso à Internet para que você possa baixar a extensão necessária, conectar-se do Visual Studio Code à sua conta do Azure, testar fluxos de trabalho que incluem operações de conector gerenciado e implantar no Azure a partir do Visual Studio Code.

  • Para criar o mesmo fluxo de trabalho de exemplo neste guia, você precisa de uma conta de email do Office 365 Outlook que use uma conta corporativa ou de estudante da Microsoft para entrar.

    Se não tiver uma conta do Office 365, pode utilizar qualquer outra ação disponível que possa enviar mensagens a partir da sua conta de e-mail, por exemplo, Outlook.com. Se você escolher um conector de e-mail diferente, como Outlook.com, ainda poderá seguir o exemplo, e as etapas gerais serão as mesmas. No entanto, sua experiência e opções podem diferir em alguns aspetos. Por exemplo, com o conector Outlook.com, utilize a sua conta Microsoft pessoal para iniciar sessão.

Ferramentas

  1. Baixe e instale o Visual Studio Code, que é gratuito.

  2. Baixe e instale a extensão Azure Logic Apps (Standard) para Visual Studio Code seguindo estas etapas:

    1. No Visual Studio Code, na barra de atividades, selecione Extensões. (Teclado: pressione Ctrl+Shift+X)

    2. Na caixa de pesquisa de extensões, insira azure logic apps standard. Na lista de resultados, selecione Azure Logic Apps (Standard)>Install.

      A extensão baixa e instala todas as dependências necessárias e as versões corretas para as seguintes estruturas:

      • Ferramentas principais do Azure Functions
      • SDK para .NET
      • Node.js

      Após a conclusão da instalação, a extensão aparece na lista Extensões: Instalado.

      A captura de tela mostra o Visual Studio Code com a extensão Azure Logic Apps (Standard) instalada.

    3. Recarregue ou reinicie o Visual Studio Code para garantir que a extensão e todas as dependências sejam instaladas corretamente.

    4. Para confirmar se a extensão e todas as dependências foram instaladas corretamente, consulte Verificar a instalação da extensão.

    Atualmente, você pode ter as extensões Consumo (multilocatário) e Standard (locatário único) instaladas ao mesmo tempo. As experiências de desenvolvimento diferem entre si em alguns aspetos, mas sua assinatura do Azure pode incluir os tipos de recursos de aplicativo lógico Standard e Consumption. No Visual Studio Code, o painel do Azure mostra todos os aplicativos lógicos implantados e hospedados pelo Azure em sua assinatura do Azure, mas organiza seus aplicativos das seguintes maneiras:

    • Seção Recursos : Todos os aplicativos lógicos padrão em sua assinatura.
    • Seção Aplicativos lógicos (Consumo): Todos os aplicativos lógicos de consumo em sua assinatura.
  3. Para executar localmente gatilhos e ações baseados em webhook, como o gatilho HTTP Webhook interno, você precisa configurar o encaminhamento para a URL de retorno de chamada no Visual Studio Code.

  4. Para habilitar o registro e o rastreamento de diagnósticos com o Application Insights para seu aplicativo lógico padrão, você pode concluir essa tarefa durante a implantação do aplicativo lógico ou após a implantação. Você precisa ter um recurso do Application Insights, mas pode criar esse recurso com antecedência, durante a implantação ou após a implantação.

  5. Instale ou use uma ferramenta que possa enviar solicitações HTTP para testar o fluxo de trabalho de exemplo, por exemplo:

    Atenção

    Para cenários em que você tem dados confidenciais, como credenciais, segredos, tokens de acesso, chaves de API e outras informações semelhantes, certifique-se de usar uma ferramenta que proteja seus dados com os recursos de segurança necessários. A ferramenta deve funcionar offline ou localmente e não requer login em uma conta online ou sincronização de dados com a nuvem. Ao usar uma ferramenta com essas características, você reduz o risco de expor dados confidenciais ao público.

Verifique a instalação da extensão

  1. Para certificar-se de que a extensão e todas as dependências estão corretamente instaladas, recarregue ou reinicie o Visual Studio Code.

  2. Confirme se o Visual Studio Code localiza e instala automaticamente as atualizações de extensão para que todas as suas extensões obtenham as atualizações mais recentes. Caso contrário, você terá que desinstalar manualmente a versão desatualizada e instalar a versão mais recente.

    1. No menu Arquivo, vá para Configuraçõesde Preferências>.

    2. Na guia Usuário, vá para Características>Extensões.

    3. Verifique se a opção Verificar atualizações automáticas está selecionada e se Atualização automática está definida como Todas as extensões.

  3. Confirme se a configuração Azure Logic Apps Standard: Project Runtime está definida para a versão correta:

    1. Na guia Usuário, vá para >Extensões>Aplicativos Lógicos do Azure (Padrão).

    2. Verifique se o Project Runtime está definido como a versão ~4, por exemplo:

      A captura de tela mostra as configurações do Visual Studio Code para a extensão Azure Logic Apps (Standard).

      Observação

      Esta versão é necessária para usar as ações Inline Code Operations.

Conectar-se à sua conta do Azure

Se você ainda não estiver conectado à sua conta do Azure, siga estas etapas para se conectar:

  1. No Visual Studio Code, na Barra de Atividades, selecione o ícone do Azure para abrir o painel do Azure .

    A captura de tela mostra a Barra de Atividades de Código do Visual Studio e o ícone do Azure selecionado.

  2. No painel do Azure, em Recursos, selecione Entrar no Azure. Quando a página de autenticação do Visual Studio Code for exibida, entre com sua conta do Azure.

    A captura de tela mostra o painel do Azure com o link selecionado para entrar no Azure.

    Depois de iniciar sessão, o painel do Azure mostra as subscrições do Azure associadas à sua conta do Azure. Se as subscrições esperadas não aparecerem ou se pretender que o painel mostre apenas subscrições específicas, siga estes passos:

    1. Na lista de subscrições, mova o ponteiro para junto à primeira subscrição até aparecer o botão Selecionar Subscrições (ícone de filtro). Selecione o ícone de filtro.

      A captura de tela mostra o painel do Azure com assinaturas e ícone de filtro selecionado.

      Ou, na barra de status do Visual Studio Code, selecione sua conta do Azure.

    2. Quando a lista de subscrições atualizadas for apresentada, selecione as subscrições pretendidas e certifique-se de que seleciona OK.

Criar um espaço de trabalho local

Um projeto de aplicativo lógico sempre requer um espaço de trabalho. Portanto, antes de criar seu aplicativo lógico, você precisa criar um espaço de trabalho onde mantenha seu projeto de aplicativo lógico. Mais tarde, você usará esse espaço de trabalho e projeto para gerenciar, executar e implantar seu aplicativo lógico do Visual Studio Code em seu ambiente de implantação. O projeto subjacente é semelhante a um projeto do Azure Functions, também conhecido como um projeto de aplicativo de função.

  1. No computador, crie uma pasta local vazia para usar mais tarde no espaço de trabalho e no projeto.

    Este exemplo cria uma pasta chamada fabrikam-workflows.

  2. No Visual Studio Code, feche todas as pastas abertas.

  3. Na janela do Azure , na barra de ferramentas da seção Espaço de trabalho , no menu Aplicativos Lógicos do Azure , selecione Criar novo espaço de trabalho de aplicativo lógico.

    A captura de tela mostra o painel do Azure, a barra de ferramentas Espaço de trabalho, o menu Aplicativos Lógicos do Azure e o item selecionado, Criar novo espaço de trabalho de aplicativo lógico.

    Se o Firewall do Windows Defender solicitar que você conceda acesso à rede para Code.exe, que é o Visual Studio Code, e para func.exe, que são as Ferramentas Principais do Azure Functions, selecione Redes privadas, como minha rede> doméstica ou de trabalhoPermitir acesso.

  4. Na janela Selecionar pasta , vá para o local onde você criou sua pasta, selecione a pasta e escolha Selecionar (não selecione duas vezes a pasta).

    A captura de tela mostra a caixa Selecionar pasta e o novo espaço de trabalho e pasta do projeto com o botão Selecionar selecionado.

    Na barra de ferramentas Código do Visual Studio, um prompt é exibido para você nomear seu espaço de trabalho.

  5. Em Fornecer um nome de espaço de trabalho, insira o nome do espaço de trabalho a ser usado.

    Este exemplo usa Fabrikam-Workflows.

    A captura de tela mostra o prompt para fornecer um nome de espaço de trabalho.

Em seguida, crie seu projeto de aplicativo lógico.

Crie seu projeto de aplicativo lógico

Depois de criar o espaço de trabalho necessário, siga as instruções para criar seu projeto.

  1. Para seu modelo de projeto, selecione Aplicativo lógico. Insira um nome de projeto para usar.

    Este exemplo usa Fabrikam-Workflows.

    A captura de tela mostra o prompt para selecionar um modelo de projeto com a opção selecionada para o aplicativo lógico.

  2. Para seu modelo de fluxo de trabalho, selecione Fluxo de trabalho com estado ou Fluxo de trabalho sem estado, com base no seu cenário. Insira um nome de fluxo de trabalho a ser usado.

    Este exemplo seleciona Stateful Workflow, que armazena o histórico do fluxo de trabalho, entradas e saídas, e usa Stateful-Workflow como o nome.

    Os fluxos de trabalho sem estado não armazenam esses dados e, atualmente, suportam apenas ações gerenciadas do conector, não gatilhos. Embora você tenha a opção de habilitar conectores no Azure para seu fluxo de trabalho sem monitoração de estado, o designer não mostra nenhum gatilho de conector gerenciado para você selecionar.

    Observação

    Se você receber um erro chamado azureLogicAppsStandard.createNewProject com a mensagem de erro Não é possível gravar nas Configurações do Espaço de Trabalho porque azureFunctions.suppressProject não é uma configuração registrada, tente reinstalar a extensão do Azure Functions para Visual Studio Code, diretamente do Visual Studio Marketplace ou de dentro do Visual Studio Code.

  3. Agora, escolha se você deseja abrir seu projeto na janela atual do Visual Studio Code ou em uma nova janela. Selecione Abrir na janela atual ou Abrir em nova janela, com base na sua preferência.

    O painel Explorer é aberto para mostrar seu espaço de trabalho, projeto e o arquivo workflow.json aberto automaticamente. Esse arquivo existe na pasta chamada Stateful-Workflow e armazena a definição JSON subjacente para o fluxo de trabalho que você cria no designer. Para obter informações sobre a estrutura do projeto, consulte Estrutura do projeto do aplicativo lógico padrão.

    Também lhe é apresentado um pedido para habilitar conectores "compartilhados" alojados no Azure em ambiente multilocatário, por exemplo:

    A captura de tela mostra o projeto de aplicativo lógico aberto com prompt para habilitar conectores hospedados no Azure.

  4. Para habilitar todos os conectores "compartilhados" gerenciados que são executados no Azure multilocatário para que você possa exibir e optar por usá-los em seu fluxo de trabalho, selecione Usar conectores do Azure.

    Observação

    Se você não selecionar essa opção e, posteriormente, tentar adicionar uma operação de conector gerenciado ao criar seu fluxo de trabalho, não poderá continuar porque o painel de informações da operação mostra um círculo giratório que não para.

  5. Para o grupo de recursos do Azure, selecione Criar novo grupo de recursos. Insira o nome do grupo de recursos a ser usado.

    Este exemplo usa Fabrikam-Workflows-RG.

  6. Para a assinatura, selecione a assinatura do Azure para usar com seu projeto de aplicativo lógico.

  7. Para o local onde criar seu grupo e recursos, selecione a região do Azure.

    Este exemplo usa West Central US.

  8. Se o seu projeto precisar de outra configuração para desenvolvimento ou precisar de artefatos de suporte para criar seu fluxo de trabalho, consulte os seguintes cenários e tarefas relacionadas:

    Cenário Tarefa
    Executar localmente gatilhos ou ações baseados em webhook. Configure o encaminhamento para URLs de retorno de chamada webhook.
    Configurar o histórico de execução de fluxo de trabalho sem estado. Habilite o histórico de execução para fluxos de trabalho sem monitoração de estado.
    Adicione artefatos e dependências, como mapas, esquemas e assemblies. Adicione artefatos e dependências.
    Trabalhar com um projeto baseado em NuGet (.NET) Converta um projeto de pacote baseado em extensão (Node.js) em um projeto baseado em pacote NuGet (.NET).

    Nota: Para converter um projeto baseado em pacote de extensão (Node.js) que você criou antes do suporte a assemblies existir, consulte também Migrar projetos baseados em pacote NuGet para usar assemblies na pasta lib.
    Crie seus próprios conectores integrados. 1. Converta um projeto baseado em pacote de extensão (Node.js) em um projeto baseado em pacote NuGet (.NET).

    2. Ativar autorias de conetores incorporados.

Agora, abra o designer de fluxo de trabalho.

Abrir o designer de fluxo de trabalho

Depois que seu projeto for aberto no painel Explorer, abra o designer para que você possa criar seu fluxo de trabalho.

No menu de atalho do arquivo workflow.json , selecione Abrir Designer.

A captura de tela mostra o painel do Explorer, o menu de atalho do ficheiro workflow.json, com o Abrir Designer selecionado.

Observação

Depois de selecionar esta opção, poderá receber a mensagem de que a inicialização pode levar alguns segundos devido ao "arranque da API de design-time do fluxo de trabalho". Pode ignorar esta mensagem ou selecionar OK.

O Visual Studio Code abre o designer de fluxo de trabalho e mostra o prompt Adicionar um gatilho , por exemplo:

A captura de tela mostra o designer com fluxo de trabalho em branco.

Observação

Se o designer não abrir, consulte a seção de solução de problemas, o Designer não abrirá.

Em seguida, adicione um gatilho e ações para criar seu fluxo de trabalho.

Adicionar um gatilho e uma ação

Para criar seu fluxo de trabalho, inicie o fluxo de trabalho com um gatilho e, em seguida, adicione inicialmente uma única ação. Dessa forma, você pode testar seu fluxo de trabalho antes de adicionar a próxima ação. O fluxo de trabalho de exemplo usa os seguintes gatilhos e ações, conhecidos coletivamente como operações:

Conector ou grupo de operação Nome da operação Tipo de operação Descrição
Pedido Quando uma solicitação HTTP é recebida Gatilho (incorporado) Cria uma URL de ponto de extremidade no fluxo de trabalho para receber chamadas de entrada ou solicitações de outros serviços ou fluxos de trabalho de aplicativos lógicos.

Para obter mais informações, consulte Receber e responder a chamadas HTTPs de entrada para fluxos de trabalho.
Office 365 Outlook Enviar um e-mail Ação (gerida) Envie um email usando uma conta do Office 365 Outlook. Para seguir as etapas neste guia, você precisa de uma conta de email do Office 365 Outlook. Para obter mais informações, consulte Conectar-se ao Office 365 Outlook a partir de Aplicativos Lógicos do Azure.

Nota: Se tiver uma conta de e-mail suportada por um conector diferente, pode utilizar esse conector, mas a experiência de utilizador desse conector difere dos passos neste exemplo.
Pedido Resposta Ação (incorporada) Envie uma resposta e retorne os dados para o chamador.

Para obter mais informações, consulte Adicionar uma ação de resposta.

Adicionar o gatilho de solicitação

  1. No designer de fluxo de trabalho, selecione Adicionar um gatilho, se ainda não estiver selecionado.

    O painel Adicionar um gatilho é aberto e mostra uma galeria onde você pode selecionar entre conectores e grupos de operação disponíveis, por exemplo:

    A captura de tela mostra o designer de fluxo de trabalho, o prompt selecionado chamado Adicionar um gatilho e a galeria de conectores e grupos de operações com gatilhos.

  2. No painel Adicionar um gatilho , siga estas etapas gerais para adicionar o gatilho de solicitação chamado Quando uma solicitação HTTP é recebida.

    O exemplo a seguir seleciona a opção Built-in para que apenas os gatilhos internos apareçam:

    A captura de tela mostra o designer de fluxo de trabalho, Adicionar um painel de gatilho e o gatilho selecionado chamado Quando uma solicitação HTTP é recebida.

    Quando o gatilho aparece no designer, o painel de informações do gatilho é aberto e mostra os parâmetros, as configurações e outras tarefas relacionadas do gatilho.

    A captura de tela mostra o painel de informações do gatilho chamado Quando uma solicitação HTTP é recebida.

    Observação

    Se o painel de informações do gatilho não aparecer, certifique-se de que o gatilho esteja selecionado no designer.

  3. Salve seu fluxo de trabalho. Na barra de ferramentas do estruturador, selecione Guardar.

Adicionar a ação do Office 365 Outlook

  1. No designer, no gatilho Solicitação, siga estas etapas gerais para adicionar a ação do Office 365 Outlook chamada Enviar um email (V2).

    Se a ação não aparecer nos resultados iniciais, ao lado do nome do conector, selecione Ver mais, por exemplo:

    A captura de tela mostra o designer de fluxo de trabalho e um painel 'Adicionar uma ação' com resultados de pesquisa de ações, e com 'Ver mais opções' selecionado.

  2. Quando o painel de autenticação da ação for exibido, selecione Entrar para criar uma conexão com sua conta de email.

    A captura de tela mostra ações chamadas Enviar um e-mail (V2) com o botão de entrada selecionado.

  3. Siga os prompts subsequentes para autenticar suas credenciais, permitir acesso e permitir retornar ao Visual Studio Code.

    Observação

    Se passar muito tempo antes de concluir os prompts, o processo de autenticação falha. Nesse caso, retorne ao designer e tente entrar novamente para criar a conexão.

    1. Quando o prompt de autenticação da Microsoft for exibido, selecione sua conta de usuário para o Office 365 Outlook. Na página de confirmação necessária que se abre, selecione Permitir acesso.

    2. Quando os Aplicativos Lógicos do Azure solicitarem a abertura de um link de Código do Visual Studio, selecione Abrir.

      A captura de tela mostra o prompt para abrir o link para o Visual Studio Code.

    3. Quando o Visual Studio Code solicitar que a extensão abra as Ferramentas do Microsoft Azure, selecione Abrir.

      A captura de tela mostra o prompt de extensão para abrir as ferramentas do Microsoft Azure.

    Depois que o Visual Studio Code cria sua conexão, alguns conectores mostram a mensagem de que A conexão será válida apenas por <n> dias. Esse limite de tempo se aplica somente à duração enquanto você cria seu fluxo de trabalho de aplicativo lógico no Visual Studio Code. Após a implantação, esse limite não se aplica mais porque seu fluxo de trabalho pode se autenticar em tempo de execução usando sua identidade gerenciada atribuída ao sistema habilitada automaticamente. Essa identidade gerenciada difere das credenciais de autenticação ou da cadeia de conexão que você usa ao criar uma conexão. Se você desabilitar essa identidade gerenciada atribuída ao sistema, as conexões não funcionarão em tempo de execução.

  4. No painel Enviar informações de email que é aberto, na guia Parâmetros , forneça as informações necessárias para a ação.

    Observação

    Se o painel de informações da ação não abrir automaticamente, selecione a ação Enviar um email no designer.

    Propriedade Obrigatório Valor Descrição
    Para Sim < seu endereço de e-mail> O destinatário do e-mail, que pode ser o seu endereço de e-mail para fins de teste. Este exemplo usa o e-mail fictício, sophia.owen@fabrikam.com.
    Assunto Sim Um e-mail do seu fluxo de trabalho de exemplo O assunto do e-mail
    Corpo Sim Olá do seu exemplo de fluxo de trabalho! O conteúdo do corpo do e-mail

    Por exemplo:

    A captura de tela mostra informações para a ação do Office 365 Outlook chamada Enviar um email.

  5. Salve seu fluxo de trabalho. No designer, selecione Salvar.

Estrutura de projeto de aplicativo lógico padrão

No Visual Studio Code, seu projeto de aplicativo lógico tem um dos seguintes tipos:

  • Baseado em pacote de extensão (Node.js), que é o tipo padrão
  • Baseado no pacote NuGet (.NET), que pode ser convertido a partir do tipo padrão

Com base nesses tipos, seu projeto pode incluir pastas ou arquivos ligeiramente diferentes. Por exemplo, um projeto baseado em pacote Nuget tem uma pasta .bin que contém pacotes e outros arquivos de biblioteca. Um projeto baseado em pacote de extensão não inclui essa pasta .bin .

Alguns cenários exigem um projeto baseado em pacote NuGet para que seu aplicativo seja executado, por exemplo, quando você deseja desenvolver e executar operações internas personalizadas. Para mais informações sobre como converter o seu projeto para usar o NuGet, consulte Ativar a autoria de conectores integrados.

O projeto baseado em pacote de extensão padrão tem uma estrutura de pasta e arquivo semelhante ao exemplo a seguir:

MyWorkspaceName
| MyBundleBasedLogicAppProjectName
  || .vscode
  || Artifacts
     ||| Maps 
         |||| MapName1
         |||| ...
     ||| Rules
     ||| Schemas
         |||| SchemaName1
         |||| ...
  || lib
     ||| builtinOperationSdks
         |||| JAR
         |||| net472
     ||| custom
  || WorkflowName1
     ||| workflow.json
     ||| ...
  || WorkflowName2
     ||| workflow.json
     ||| ...
  || workflow-designtime
     ||| host.json
     ||| local.settings.json
  || .funcignore
  || connections.json
  || host.json
  || local.settings.json

No nível raiz do seu projeto, você pode encontrar as seguintes pastas e arquivos, juntamente com outros itens:

Nome Pasta ou ficheiro Descrição
.vscode Pasta de Arquivos Contém arquivos de configurações relacionados ao Visual Studio Code, como arquivos extensions.json, launch.json, settings.json e tasks.json .
Artefatos Pasta de Arquivos Contém artefatos de conta de integração que você define e usa em fluxos de trabalho que oferecem suporte a cenários B2B (business-to-business).

Por exemplo, a estrutura de exemplo inclui as seguintes pastas:

- Mapas: contém mapas a serem usados para operações de transformação XML.

- Esquemas: contém esquemas a serem usados para operações de validação XML.

- Regras: Artefatos para regras de negócios em projetos de mecanismos baseados em regras.
Lib Pasta de Arquivos Contém assemblies suportados que a sua aplicação lógica pode usar ou referenciar. Você pode carregar esses assemblies para seu projeto no Visual Studio Code, mas você deve adicioná-los a pastas específicas em seu projeto.

Por exemplo, esta pasta inclui as seguintes pastas:

- builtinOperationSdks: Contém as pastas JAR e net472 para assemblies Java e .NET Framework, respectivamente.

- custom: contém assemblies personalizados do .NET Framework.

Para obter mais informações sobre os tipos de assembly suportados e onde colocá-los em seu projeto, consulte Adicionar assemblies ao seu projeto.
< Nome do fluxo de trabalho> Pasta de Arquivos Para cada fluxo de trabalho, a < inclui um >, que contém a definição JSON subjacente desse fluxo de trabalho.
workflow-designtime Pasta de Arquivos Contém arquivos de configurações relacionadas ao ambiente de desenvolvimento.
.funcignore Ficheiro Contém informações relacionadas às Ferramentas Principais do Azure Functions instaladas.
connections.json Ficheiro Contém os metadados, pontos de extremidade e chaves para quaisquer conexões geridas e funções do Azure que os seus fluxos de trabalho usam.

Importante: Para usar conexões e funções diferentes para cada ambiente, certifique-se de parametrizar esse arquivo de connections.json e atualizar os pontos de extremidade.
host.json Ficheiro Contém configurações e valores específicos do ambiente de execução, por exemplo, os limites padrão para a plataforma Azure Logic Apps monotenant, aplicações lógicas, fluxos de trabalho, ações e gatilhos. No nível raiz do seu projeto de aplicativo lógico, o arquivo de metadados host.json contém as definições de configuração e os valores padrão que todos os fluxos de trabalho no mesmo aplicativo lógico usam durante a execução, seja localmente ou no Azure. Para obter informações de referência, consulte Editar configurações do aplicativo e configurações do host.

Nota: Quando você cria seu aplicativo lógico, o Visual Studio Code cria um arquivo host.snapshot.*.json de backup em seu contêiner de armazenamento. Se você excluir seu aplicativo lógico, esse arquivo de backup não será excluído. Se você criar outro aplicativo lógico com o mesmo nome, outro arquivo de instantâneo será criado. Você pode ter apenas até 10 instantâneos para o mesmo aplicativo lógico. Se você exceder esse limite, você receberá o seguinte erro:

Microsoft.Azure.WebJobs.Script.WebHost: Repository has more than 10 non-decryptable secrets backups (host))

Para resolver esse erro, exclua os arquivos de instantâneo extras do contêiner de armazenamento.
local.settings.json Ficheiro Contém configurações de aplicativos, cadeias de conexão e outras configurações que seus fluxos de trabalho usam durante a execução local. Essas configurações e valores se aplicam somente quando você executa seus projetos em seu ambiente de desenvolvimento local. Durante a implantação no Azure, o arquivo e as configurações são ignorados e não são incluídos na sua implantação.

Esse arquivo armazena configurações e valores como variáveis de ambiente local que suas ferramentas de desenvolvimento local usam para os appSettings valores. Você pode chamar e fazer referência a essas variáveis de ambiente em tempo de execução e de implantação usando as configurações e os parâmetros do aplicativo.

Importante: O arquivo local.settings.json pode conter segredos, portanto, certifique-se de excluir esse arquivo do controle do código-fonte do projeto. Esse arquivo também contém as configurações do aplicativo que seu aplicativo lógico precisa para funcionar corretamente. Para obter informações de referência, consulte Editar configurações do aplicativo e configurações do host.

Outras tarefas de configuração de desenvolvimento

Depois de criar seu projeto, você ainda pode ter outras tarefas de configuração para dar suporte a cenários de desenvolvimento local específicos em torno da criação, execução e implantação de aplicativos lógicos padrão usando o Visual Studio Code. As seções a seguir descrevem as tarefas para esses cenários.

Habilite webhooks em execução local

Uma operação de webhook é um gatilho ou ação de fluxo de trabalho que aguarda que um evento aconteça antes que a operação possa ser executada. Especificamente, a operação webhook aguarda a chegada de uma solicitação HTTPS de um serviço de chamador ou fluxo de trabalho antes que a operação possa continuar. Por exemplo, webhooks incluem operações como o gatilho Request e o gatilho HTTP + Webhook .

No portal do Azure, o runtime do Azure Logic Apps subscreve automaticamente o webhook ao serviço ou fluxo de trabalho do autor da chamada. O runtime regista uma URL de retorno de chamada para o webhook com o serviço de chamada ou fluxo de trabalho. Em seguida, o webhook aguarda que o chamador envie a solicitação usando o URL de retorno de chamada.

No entanto, no Visual Studio Code, você precisa concluir algumas tarefas de instalação para que as operações de webhook funcionem corretamente. Nesse cenário, a URL de retorno de chamada usa seu servidor localhost (http://localhost:7071/...), que é privado, portanto, o chamador não pode enviar diretamente uma solicitação pela Internet para essa URL.

Para operações de webhook em fluxos de trabalho em execução local, você precisa configurar uma URL pública que exponha seu servidor localhost e encaminhe chamadas com segurança do chamador para a URL de retorno de chamada. Você pode usar um serviço de encaminhamento e uma ferramenta como ngrok, que abre um túnel HTTP para sua porta localhost, ou você pode usar sua própria ferramenta equivalente.

Configurar o encaminhamento de chamadas usando ngrok
  1. Vá para o site ngrok. Registe-se para obter uma nova conta ou inicie sessão na sua conta, se já tiver uma.

  2. Obtenha seu token de autenticação pessoal, que seu cliente ngrok precisa para se conectar e autenticar o acesso à sua conta.

    1. Para localizar a página do token de autenticação, no menu do painel da conta, expanda Autenticação e selecione Seu Authtoken.

    2. Na caixa Your Authtoken , copie o token para um local seguro.

  3. Na página de download do ngrok ou no painel da sua conta, baixe a versão do ngrok desejada e extraia o arquivo .zip.

    Para obter mais informações, consulte Etapa 1: descompactar para instalar.

  4. No seu computador, abra a ferramenta de prompt de comando. Navegue até o local onde você tem o arquivongrok.exe .

  5. Conecte o cliente ngrok à sua conta ngrok executando o seguinte comando:

    ngrok authtoken <your-authentication-token>

    Para obter mais informações, consulte Etapa 2: conectar sua conta.

  6. Abra o túnel HTTP para a porta localhost 7071 executando o seguinte comando:

    ngrok http 7071

    Para obter mais informações, consulte Passo 3: iniciá-lo.

  7. Na saída, localize a seguinte linha:

    http://<domain>.ngrok.io -> http://localhost:7071

  8. Copie e salve o URL que tem este formato: http://<domain>.ngrok.io

Configurar o URL de reencaminhamento nas definições da aplicação
  1. No Visual Studio Code, no designer, adicione a operação de webhook que você deseja usar em seu fluxo de trabalho.

    Este exemplo continua com o gatilho HTTP + Webhook .

  2. Quando for exibido o prompt para o local do ponto de extremidade do host, insira a URL de encaminhamento (redirecionamento) que criou anteriormente.

    Observação

    Ignorar o prompt faz com que apareça um aviso de que você deve fornecer a URL de encaminhamento, portanto, selecione Configurar e insira a URL. Depois de concluir esta etapa, o prompt não aparecerá para operações de webhook subsequentes que possa adicionar.

    Para fazer com que o prompt apareça, no nível raiz do projeto, abra o menu de atalho do arquivo local.settings.json e selecione Configurar ponto de extremidade de redirecionamento Webhook. O prompt agora aparece para que você possa fornecer a URL de encaminhamento.

    O Visual Studio Code adiciona a URL de encaminhamento ao arquivo local.settings.json na pasta raiz do projeto. No objeto, a Values propriedade nomeada Workflows.WebhookRedirectHostUri agora aparece e é definida como a URL de encaminhamento, por exemplo:

    {
       "IsEncrypted": false,
       "Values": {
          "AzureWebJobsStorage": "UseDevelopmentStorage=true",
          "FUNCTIONS_WORKER_RUNTIME": "dotnet",
          "FUNCTIONS_V2_COMPATIBILITY_MODE": "true",
          <...>
          "Workflows.WebhookRedirectHostUri": "http://xxxXXXXxxxXXX.ngrok.io",
          <...>
       }
    }
    

    Para obter mais informações sobre essas configurações de aplicativo, consulte Editar configurações de aplicativo e configurações de host para aplicativos lógicos padrão.

Na primeira vez que se inicia uma sessão de depuração local ou executa o fluxo de trabalho sem depuração, o runtime do Azure Logic Apps regista o fluxo de trabalho com o chamador e subscreve o ponto de extremidade do chamador que notifica as operações de webhook. Na próxima vez que o fluxo de trabalho for executado, o ambiente de execução não registará nem fará uma nova subscrição, porque o registo de assinatura já existe no armazenamento local.

Quando você interrompe a sessão de depuração para um fluxo de trabalho que usa operações de webhook executadas localmente, os registros de assinatura existentes não são excluídos. Para cancelar o registo, tem de remover ou eliminar manualmente os registos de subscrição.

Observação

Depois que o fluxo de trabalho começar a ser executado, a janela do terminal pode mostrar erros como este exemplo:

message='Http request failed with unhandled exception of type 'InvalidOperationException' and message: 'System.InvalidOperationException: Synchronous operations are disallowed. Call ReadAsync or set AllowSynchronousIO to true instead.'

Nesse caso, abra o arquivo local.settings.json na pasta raiz do projeto e verifique se a propriedade está definida como true:

"FUNCTIONS_V2_COMPATIBILITY_MODE": "true"

Habilitar o histórico de execução para fluxos de trabalho sem estado

Para depurar um fluxo de trabalho sem estado mais facilmente, você pode habilitar o histórico de execução para esse fluxo de trabalho e, em seguida, desabilitar o histórico de execução quando terminar. Siga estas etapas para o Visual Studio Code ou, se estiver trabalhando no portal do Azure, consulte Criar fluxos de trabalho baseados em locatário único no portal do Azure.

  1. Em seu projeto Visual Studio Code, no nível da pasta raiz, abra o arquivo local.settings.json .

  2. Adicione a propriedade Workflows.<workflow-name>.operationOptions e defina o valor para WithStatelessRunHistory, por exemplo:

    Mac OS

    {
       "IsEncrypted": false,
       "Values": {
          "AzureWebJobsStorage": "UseDevelopmentStorage=true",
          "FUNCTIONS_WORKER_RUNTIME": "dotnet",
          "Workflows.<workflow-name>.OperationOptions": "WithStatelessRunHistory"
       }
    }
    

    macOS ou Linux

    {
       "IsEncrypted": false,
       "Values": {
          "AzureWebJobsStorage": "DefaultEndpointsProtocol=https;AccountName=fabrikamstorageacct; \
              AccountKey=<access-key>;EndpointSuffix=core.windows.net",
          "FUNCTIONS_WORKER_RUNTIME": "dotnet",
          "Workflows.<workflow-name>.OperationOptions": "WithStatelessRunHistory"
       }
    }
    
  3. Na pasta do projeto chamada workflow-designtime, abra o arquivo delocal.settings.json e faça a mesma alteração.

  4. Para desativar o histórico de execução quando terminar, defina a Workflows.<workflow-name>.OperationOptions propriedade como None, ou exclua a propriedade e seu valor.

Adicionar artefatos e dependências ao seu projeto

Em cenários específicos, seu fluxo de trabalho pode incluir operações que exigem dependências, como assemblies, ou artefatos, como mapas, esquemas ou regras. No Visual Studio Code, você pode adicionar esses itens às pastas correspondentes em seu projeto, por exemplo:

Iteme Tipo de ficheiro Descrição
Mapas .xslt Para obter mais informações, consulte Adicionar mapas para transformações em fluxos de trabalho.
Esquemas .xsd Para obter mais informações, consulte Adicionar esquemas para validação.
Regras .xml Para obter mais informações, consulte Criar um projeto do Mecanismo de Regras de Aplicativos Lógicos do Azure.
Assemblagens - .dll (.NET Framework ou .NET 8)

- .jar (Java)
Um recurso de aplicativo lógico padrão pode usar ou fazer referência a tipos específicos de assemblies, que você pode carregar para seu projeto no Visual Studio Code. No entanto, você deve adicioná-los a pastas de projeto específicas. Para obter mais informações, consulte Adicionar assemblies referenciados.

Nota: Se você tiver um projeto de aplicativo lógico baseado em pacote NuGet (.NET) antes do suporte a assemblies ficar disponível, consulte Migrar projetos baseados em pacote NuGet para usar assemblies na pasta lib.

Converta seu projeto para NuGet baseado em pacote (.NET)

Por padrão, o Visual Studio Code cria seu projeto de aplicativo lógico como um projeto baseado em pacote de extensão (Node.js). Se você precisar de um projeto baseado em pacote NuGet (.NET), por exemplo, para criar seus próprios conectores internos, deverá converter seu projeto padrão em um projeto baseado em pacote NuGet (.NET).

Importante

Esta ação é uma operação unidirecional que não pode ser desfeita.

  1. No painel Explorer, mova o ponteiro do mouse sobre qualquer área em branco abaixo das pastas e arquivos do projeto, abra o menu de atalho e selecione Converter em projeto de aplicativo lógico baseado em NuGet.

    A captura de tela mostra o painel Explorer com o menu de atalho do projeto aberto da área em branco no projeto.

  2. Quando o prompt aparecer, confirme a conversão do projeto.

Migrar projetos baseados em pacotes NuGet para usar assemblies na pasta "lib"

Importante

Essa tarefa é necessária apenas para projetos de aplicativo lógico baseados em pacote NuGet (.NET) criados antes que o suporte a assemblies ficasse disponível.

Se você criou seu projeto de aplicativo lógico quando o suporte a assemblies não estava disponível para fluxos de trabalho de aplicativo lógico padrão, você pode adicionar as seguintes linhas ao seu < arquivo project-name.csproj> para trabalhar com projetos que usam assemblies:

  <ItemGroup>
    <LibDirectory Include="$(MSBuildProjectDirectory)\lib\**\*"/>
  </ItemGroup>
  <Target Name="CopyDynamicLibraries" AfterTargets="_GenerateFunctionsExtensionsMetadataPostPublish">
    <Copy SourceFiles="@(LibDirectory)" DestinationFiles="@(LibDirectory->'$(MSBuildProjectDirectory)\$(PublishUrl)\lib\%(RecursiveDir)%(Filename)%(Extension)')"/>
  </Target>

Importante

Para um projeto executado em Linux ou macOS, certifique-se de atualizar o separador de diretório. Por exemplo, revise a seguinte imagem que mostra o código anterior adicionado ao < arquivo project-name.csproj>:

O screenshot mostra assemblies migradas e código adicionado no ficheiro CSPROJ.

Habilitar a criação de conector integrado

Você pode criar os seus próprios conetores integrados para qualquer serviço que precisar, usando a estrutura de extensibilidade de Aplicações Lógicas do Azure para locatário único. Semelhante aos conectores internos, tais como o Barramento de Serviço do Azure e o SQL Server, esses conectores fornecem maior taxa de transferência, baixa latência, conectividade local e operam nativamente no mesmo processo que a execução dedicada dos Aplicativos Lógicos do Azure.

Atualmente, o recurso de criação está disponível apenas no Visual Studio Code, mas não está habilitado por padrão. Para criar estes conectores, siga estes passos:

  1. Se você ainda não o fez, converta seu projeto baseado em pacote de extensão (Node.js) em um projeto baseado em pacote NuGet (.NET).

  2. Analise e siga as etapas no artigo, Azure Logic Apps Running Anywhere - Built-in connector extensibility.

Executar, depurar e testar fluxos de trabalho localmente

As seções a seguir mostram como você pode definir pontos de interrupção e iniciar uma sessão de depuração para executar e testar seu fluxo de trabalho localmente.

Definir pontos de interrupção para depuração

Antes de executar e testar o fluxo de trabalho do aplicativo lógico iniciando uma sessão de depuração, você pode definir pontos de interrupção dentro do arquivo workflow.json para cada fluxo de trabalho. Nenhuma outra configuração é necessária.

Atualmente, os pontos de interrupção são suportados apenas para ações, não para gatilhos. Cada definição de ação tem estes locais de ponto de interrupção:

  • Defina o ponto de interrupção inicial na linha que mostra o nome da ação. Quando este ponto de interrupção é atingido durante a sessão de depuração, pode rever as entradas de dados da ação antes de serem avaliadas.

  • Defina o ponto de interrupção final na linha que mostra a chave de fechamento da ação (}). Quando este ponto de interrupção é ativado durante a sessão de depuração, podes rever os resultados da ação antes que ela termine de ser executada.

Para adicionar um ponto de interrupção, siga estes passos:

  1. Abra o arquivo workflow.json do fluxo de trabalho que você deseja depurar.

  2. Na linha onde pretende definir o ponto de interrupção, na coluna da esquerda, selecione dentro dessa coluna. Para remover o ponto de interrupção, selecione esse ponto de interrupção.

    Quando você inicia a sessão de depuração, o modo de exibição Executar aparece no lado esquerdo da janela de código, enquanto a barra de ferramentas Depurar aparece perto da parte superior.

    Observação

    Se a vista Executar não aparecer automaticamente, prima Ctrl+Shift+D.

  3. Para rever as informações disponíveis quando um ponto de interrupção for atingido, na vista de execução, examine o painel Variáveis.

  4. Para continuar a execução do fluxo de trabalho, na barra de ferramentas Depurar, selecione Continuar (botão de reprodução).

Você pode adicionar e remover pontos de interrupção a qualquer momento durante a execução do fluxo de trabalho. No entanto, se atualizares o ficheiro workflow.json após o início da execução, os pontos de interrupção não são atualizados automaticamente. Para atualizar os pontos de interrupção, reinicie a aplicação lógica.

Para obter informações gerais, consulte Pontos de interrupção - Visual Studio Code.

Depurar e testar seu fluxo de trabalho

Para testar seu fluxo de trabalho, siga estas etapas para executar uma sessão de depuração e localizar a URL do ponto de extremidade criado pelo gatilho Solicitação . Você precisa deste URL para que mais tarde possa enviar uma solicitação para esse endpoint.

  1. Se tiveres um fluxo de trabalho sem estado, ativa o histórico de execução para facilitar a depuração.

  2. No menu Executar , selecione Iniciar Depuração (F5).

    A janela Terminal é aberta para que você possa revisar a sessão de depuração.

    Observação

    Se você receber o erro, "O erro existe depois de executar preLaunchTask 'generateDebugSymbols'", consulte a seção de solução de problemas, Falha ao iniciar a sessão de depuração.

  3. Agora, localize a URL de retorno de chamada para o endpoint criado pelo gatilho Request.

    1. Reabra o painel Explorer para exibir seu projeto.

    2. No menu de atalho do arquivo workflow.json, selecione Resumo.

      A captura de ecrã mostra o painel do Explorador, o menu de contexto do ficheiro workflow.json com a opção selecionada, Visão Geral.

    3. Copie e salve a URL de retorno de chamada, que é semelhante à seguinte URL para o gatilho Quando uma solicitação HTTP é recebida neste exemplo:

      http://localhost:7071/api/<workflow-name>/triggers/manual/invoke?api-version=2020-05-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=<shared-access-signature>

      A captura de ecrã mostra a página de visão geral do fluxo de trabalho com o URL de chamada de retorno.

  4. Para testar a URL de retorno de chamada e acionar o fluxo de trabalho, envie uma solicitação HTTP para a URL, incluindo o método que o gatilho espera, usando sua ferramenta de solicitação HTTP e suas instruções.

    Este exemplo usa o método GET com a URL copiada, que se parece com o exemplo a seguir:

    GET http://localhost:7071/api/Stateful-Workflow/triggers/manual/invoke?api-version=2020-05-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=<shared-access-signature>

    Quando o gatilho é acionado, o fluxo de trabalho de exemplo é executado e envia um e-mail semelhante a este exemplo:

    A captura de tela mostra o email do Outlook conforme descrito no exemplo.

  5. No Visual Studio Code, retorne à página de visão geral do fluxo de trabalho. Em Histórico de execução, verifique o status da execução do fluxo de trabalho.

    Sugestão

    Se o status de execução não aparecer, tente atualizar a página de visão geral selecionando Atualizar. Uma execução não acontece para um gatilho que é ignorado devido a critérios não atendidos ou à ausência de dados.

    Captura de tela que mostra a página de visão geral do fluxo de trabalho com o status e o histórico de execução.

    A tabela a seguir mostra os possíveis status finais que cada execução de fluxo de trabalho pode ter e mostrar no Visual Studio Code:

    Estado da execução Descrição
    abortada A execução parou ou não foi concluída devido a problemas externos, por exemplo, uma interrupção do sistema ou uma assinatura do Azure caducada.
    Cancelado A execução foi acionada e iniciada, mas recebeu um pedido de cancelamento.
    Falha Pelo menos uma ação na execução falhou. Nenhuma ação subsequente no fluxo de trabalho foi configurada para lidar com a falha.
    A correr A execução foi acionada e está em andamento, mas esse status também pode aparecer para uma execução limitada devido a limites de ação ou ao plano de preços atual.

    Dica: Se você configurar o registro de diagnósticos, poderá obter informações sobre quaisquer eventos de aceleração que aconteçam.
    Bem-sucedido A corrida foi bem-sucedida. Se alguma ação falhar, uma ação subsequente no fluxo de trabalho manipulou essa falha.
    Tempo limite esgotado O tempo limite de execução expirou porque a duração atual excedeu o limite de duração de execução, que é controlado pela configuração chamada Retenção do histórico de execução em dias. A duração de uma execução é calculada usando a hora de início da execução e o limite de duração da execução nessa hora de início.

    Nota: Se a duração da execução também exceder o limite de retenção do histórico de execução atual, que é controlado pela configuração de retenção do histórico de execução em dias, a execução será removida do histórico por um trabalho diário de limpeza. Quer a execução atinja o tempo limite ou seja concluída, o período de retenção é sempre calculado utilizando a hora de início da execução e o limite de retenção atual . Assim, se reduzir o limite de duração de um processo em execução, este será terminado. No entanto, o processo permanece ou é removido do histórico de execução com base no facto de a sua duração ter ou não excedido o limite de retenção.

    A aguardar A execução não foi iniciada ou está pausada, por exemplo, devido a uma instância de fluxo de trabalho anterior que ainda está em execução.
  6. Para exibir o status, as entradas e as saídas de cada etapa para uma execução de fluxo de trabalho específica, escolha uma das etapas:

    • Na coluna Identificador , selecione o ID de execução do fluxo de trabalho.

    • Ao lado da coluna Duração , abra o menu de reticências (...) de uma execução de fluxo de trabalho e selecione Mostrar execução, por exemplo:

      A captura de tela mostra a linha do histórico de execuções do fluxo de trabalho com o botão de elipses selecionado e Mostrar Execução.

    O Visual Studio Code abre o modo de exibição de detalhes da execução e mostra o status de cada etapa na execução do fluxo de trabalho.

    A captura de tela mostra cada etapa na execução do fluxo de trabalho e seu status.

    Observação

    Se uma execução falhou e uma etapa na exibição de detalhes da execução mostra o erro 400 Bad Request , esse problema pode resultar de um nome de gatilho mais longo ou nome de ação que faz com que o URI (Uniform Resource Identifier) subjacente exceda o limite de caracteres padrão. Para obter mais informações, consulte "400 Bad Request".

    A tabela a seguir mostra os possíveis status que cada ação de fluxo de trabalho pode ter e mostrar no Visual Studio Code:

    Estado da ação Descrição
    abortada A ação parou ou não foi concluída devido a problemas externos, por exemplo, uma interrupção do sistema ou uma assinatura do Azure caducada.
    Cancelado A ação estava em execução, mas recebeu um pedido de cancelamento.
    Falha A ação falhou.
    A correr A ação está em execução neste momento.
    Ignorado A ação foi ignorada porque a ação imediatamente anterior falhou. Uma ação tem uma runAfter condição que requer que a ação anterior seja concluída com êxito antes que a ação atual possa ser executada.
    Bem-sucedido A ação foi bem-sucedida.
    Bem-sucedido após várias tentativas A ação foi bem-sucedida, mas apenas após uma ou mais tentativas. Para revisar o histórico de tentativas, na exibição de detalhes do histórico de execução, selecione essa ação para que você possa visualizar as entradas e saídas.
    Tempo limite esgotado A ação foi interrompida devido ao limite de tempo especificado pelas configurações dessa ação.
    A aguardar Aplica-se a uma ação de webhook que está aguardando uma solicitação de entrada de um chamador.
  7. Para visualizar as entradas e saídas de cada etapa, selecione a etapa desejada, por exemplo:

    A captura de tela mostra o status de cada etapa do fluxo de trabalho, além de entradas e saídas na ação expandida chamada Enviar um e-mail.

    Para visualizar as entradas e saídas brutas, selecione Mostrar entradas brutas ou Mostrar saídas brutas.

  8. Para interromper a sessão de depuração, no menu Executar , selecione Parar Depuração (Shift + F5).

Devolver uma resposta

Quando você tem um fluxo de trabalho que começa com o gatilho Quando uma solicitação HTTP é recebida, seu fluxo de trabalho pode retornar uma resposta ao chamador que enviou a solicitação inicial usando a ação Solicitação chamada Resposta.

  1. No designer de fluxo de trabalho, na ação Enviar um email , siga estas etapas gerais para adicionar a ação Solicitar chamada Resposta.

    A captura de tela mostra o designer de fluxo de trabalho e o painel Informações de resposta.

  2. No painel Informações da ação Resposta, na guia Parâmetros , forneça as informações necessárias para a resposta ao chamador.

    Este exemplo retorna o valor do parâmetro Body , que é a saída da ação Enviar um email .

    1. Para o parâmetro Body , selecione dentro da caixa de edição e selecione o ícone de relâmpago, que abre a lista de conteúdo dinâmico. Esta lista mostra os valores de saída disponíveis do gatilho anterior e as ações no fluxo de trabalho.

    2. Na lista de conteúdo dinâmico, em Enviar um e-mail, selecione Corpo.

      A captura de tela mostra a lista de conteúdo dinâmico aberta onde, em Enviar um cabeçalho de e-mail, o valor de saída Corpo está selecionado.

      Quando terminar, a propriedade Corpo da ação Resposta será definida como o valor de saída Corpo da ação Enviar um email, por exemplo:

      A captura de tela mostra o designer de fluxo de trabalho, o painel de informações de resposta, e o parâmetro Corpo definido como saída do corpo da ação chamada

  3. Salve seu fluxo de trabalho.

Teste novamente seu fluxo de trabalho

Para testar suas atualizações, você pode executar novamente o depurador e enviar outra solicitação que acione seu fluxo de trabalho, semelhante às etapas em Executar, depurar e testar fluxos de trabalho localmente.

  1. Na barra de ferramentas do Visual Studio Code, no menu Executar, selecione Iniciar Depuração (F5).

  2. Na sua ferramenta de criação e envio de pedidos, envie outro pedido para acionar o seu fluxo de trabalho.

  3. Na página de visão geral do fluxo de trabalho, em Histórico de execução, verifique o status da execução mais recente e abra a exibição de detalhes da execução.

    Por exemplo, aqui está o status passo a passo de uma execução depois que o fluxo de trabalho de exemplo foi atualizado com a ação Resposta .

    A captura de tela mostra o status de cada etapa do fluxo de trabalho atualizado, além de entradas e saídas na ação Resposta expandida.

  4. Para interromper a sessão de depuração, no menu Executar , selecione Parar Depuração (Shift + F5).

Prepare-se para a implantação

Antes de implantar seu aplicativo lógico padrão no portal do Azure, revise esta seção para qualquer preparação que você precise fazer.

Configurar o acesso ao firewall

Se o seu ambiente tiver requisitos de rede rigorosos ou firewalls que limitem o tráfego, terá de configurar permissões para quaisquer ligações criadas por conectores geridos, alojados e partilhados pelo Azure e utilizadas no seu fluxo de trabalho.

Para localizar os FQDNs (nomes de domínio totalmente qualificados) para essas conexões, siga estas etapas:

  1. Em seu projeto de aplicativo lógico, abra o arquivo local.settings.json .

  2. Para cada conexão que você criou, localize a propriedade chamada <connection-name>-ConnectionRuntimeUrl, que usa a seguinte sintaxe:

    "<connection-name>-ConnectionRuntimeUrl": <connection-runtime-URL>

    Por exemplo, suponha que você tenha um arquivo delocal.settings.json de exemplo que contenha essas conexões: uma conexão do Office 365 e uma conexão AS2. Essas conexões usam os seguintes valores de exemplo para as <connection-name>-ConnectionRuntimeUrl propriedades:

    • Office 365: "office365-ConnectionRuntimeUrl": https://A1bC2dE3fH4iJ5kL6mN7oP8qR9sT0u.00.common.logic-<Azure-region>.azure-apihub.net/apim/office365/a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1"

    • AS2: "as2-ConnectionRuntimeUrl": https://A1bC2dE3fH4iJ5kL6mN7oP8qR9sT0u.00.common.logic-<Azure-region>.azure-apihub.net/apim/as2/b1b1b1b1-cccc-dddd-eeee-f2f2f2f2f2f2

    O ficheiro de exemplo local.settings.json é semelhante à seguinte versão:

    {
       "IsEncrypted": false,
       "Values": {
          "AzureWebJobsStorage": "UseDevelopmentStorage=true",
          "FUNCTIONS_WORKER_RUNTIME": "node",
          "APP_KIND": "workflowapp",
          "ProjectDirectoryPath": "c:\\Users\\<local-username>\\Desktop\\Visual Studio Code projects\\Azure Logic Apps\fabrikam-workflows\\Fabrikam-Workflows\\Fabrikam-Workflows",
          "WORKFLOWS_TENANT_ID": "<Microsoft-Entra-tenant-ID>",
          "WORKFLOWS_SUBSCRIPTION_ID": "<Azure-subscription-ID>",
          "WORKFLOWS_RESOURCE_GROUP_NAME": "Fabrikam-Workflows-RG",
          "WORKFLOWS_LOCATION_NAME": "westcentralus",
          "WORKFLOWS_MANAGEMENT_BASE_URI": "https://management.azure.com/",
          "as2-connectionKey": "<connection-key>",
          "as2-ConnectionRuntimeUrl": "https://A1bC2dE3fH4iJ5kL6mN7oP8qR9sT0u.00.common.logic-<Azure-region>.azure-apihub.net/apim/as2/b1b1b1b1-cccc-dddd-eeee-f2f2f2f2f2f2",
          "office365-connectionKey": "<connection-key>",
          "office365-ConnectionRuntimeUrl": "https://A1bC2dE3fH4iJ5kL6mN7oP8qR9sT0u.00.common.logic-<Azure-region>.azure-apihub.net/apim/office365/a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1",
       }
    }
    
  3. Copie e salve essas URLs de tempo de execução de conexão em algum lugar seguro para que você possa configurar seu firewall com essas informações.

  4. Quando estiver pronto, configure o firewall usando os URLs salvos. Para obter mais informações, veja a seguinte documentação:

Publicar no Azure

Para implantar seu aplicativo lógico padrão do Visual Studio Code, você pode publicar diretamente seu projeto no Azure. Você pode publicar seu aplicativo lógico como um novo recurso, que cria automaticamente todos os recursos necessários, como uma conta de armazenamento do Azure, semelhante aos requisitos do aplicativo de função. Ou, você pode publicar seu aplicativo lógico em um recurso de aplicativo lógico padrão implantado anteriormente, que substitui a versão implantada.

A implantação para o recurso de aplicativo lógico padrão requer um plano de hospedagem e uma camada de preço, que você seleciona durante a implantação. Para obter mais informações, consulte Planos de hospedagem e níveis de preços.

Publicar em um novo recurso de aplicativo lógico padrão

  1. No painel Explorer, mova o ponteiro do mouse sobre qualquer área em branco abaixo das pastas e arquivos do projeto, abra o menu de atalho e selecione Implantar no aplicativo lógico.

    Embora você não precise ter nenhum arquivo aberto para implantar, certifique-se de salvar tudo o que planeja implantar.

    A captura de ecrã mostra o painel do Explorador, o menu de atalho aberto a partir da área em branco sob o projeto, e a opção selecionada para Implantar na aplicação lógica.

    Ser-lhe-á apresentada as seguintes opções para o recurso de aplicação lógica padrão de destino. Você pode criar um novo aplicativo lógico padrão ou selecionar um aplicativo lógico padrão implantado existente no Azure:

    • Criar novo Aplicativo Lógico (Padrão) no Azure (rápido)
    • Criar novo Aplicativo Lógico (Padrão) no Azure Advanced
    • Selecione entre os recursos do aplicativo lógico padrão implantados anteriormente, se existirem.
  2. Para as opções de implantação, selecione se deseja criar ou usar um recurso de aplicativo lógico de destino existente.

    Este exemplo continua com Criar novo Aplicativo Lógico (Padrão) no Azure Advanced.

    A captura de tela mostra a lista de opções de implantação e a opção selecionada para criar um novo recurso de aplicativo lógico padrão com etapas personalizadas.

  3. Siga estas etapas para criar o novo recurso de aplicativo lógico de destino:

    1. Insira um nome globalmente exclusivo para o aplicativo lógico de destino.

      Este exemplo usa Fabrikam-Workflows-App.

      A captura de tela mostra o prompt para inserir um nome exclusivo para o aplicativo lógico de destino.

    2. Para o local onde implantar, selecione a região do Azure.

      Este exemplo usa West Central US.

    3. Para o plano de hospedagem, escolha entre as seguintes opções:

      Plano de alojamento Descrição
      Padrão de fluxo de trabalho Implemente como um novo recurso de aplicação lógica padrão hospedado em Aplicações Lógicas do Azure de inquilino único.
      Híbrido Implante como um aplicativo lógico padrão hospedado em sua própria infraestrutura.

      Nota: Antes de selecionar esta opção, certifique-se de que configurou a infraestrutura necessária. Para obter mais informações, consulte Configurar sua própria infraestrutura para aplicativos lógicos padrão usando implantação híbrida.
    4. Para o plano do Serviço de Aplicativo do Windows, escolha uma das seguintes opções:

      • Criar novo plano do Serviço de Aplicativo
      • Selecione entre os planos existentes do Serviço de Aplicativo na região do Azure selecionada (somente planos baseados no Windows), se existirem.

      Este exemplo seleciona Criar novo plano do Serviço de Aplicativo.

    5. Para o novo plano, forneça um nome globalmente exclusivo e selecione um nível de preço.

      Este exemplo usa Fabrikam-Workflows-App-Service-Plan e seleciona a camada WS1 Workflow Standard .

      Para obter mais informações, consulte Planos de hospedagem e níveis de preços.

    6. Para o grupo de recursos do Azure de destino, selecione o mesmo grupo de recursos que seu projeto para obter o desempenho ideal.

      Este exemplo usa o mesmo grupo criado anteriormente chamado Fabrikam-Workflows-RG.

      Observação

      Embora você possa criar ou usar um grupo de recursos diferente, isso pode afetar o desempenho. Se você criar ou escolher um grupo de recursos diferente, mas cancelar depois que o prompt de confirmação for exibido, sua implantação também será cancelada.

    7. Para que a conta de armazenamento do Azure seja usada com fluxos de trabalho que permitem salvar informações do histórico de execução, escolha uma das seguintes opções:

      • Criar nova conta de armazenamento
      • Selecione entre as contas de armazenamento existentes do Azure, se houver.

      Este exemplo seleciona Criar nova conta de armazenamento.

    8. Insira um nome globalmente exclusivo para a conta de armazenamento. Você pode usar apenas letras minúsculas e números.

      Este exemplo usa fabrikamstorageaccount<número>.

    9. Para a opção de usar o armazenamento SQL neste exemplo, selecione Não.

      Se você já configurou um banco de dados SQL para usar no armazenamento seguindo Configurar o armazenamento do banco de dados SQL para fluxos de trabalho de aplicativos lógicos padrão, selecione Sim.

    10. Para o recurso Application Insights, que permite o registo e a monitorização de diagnóstico para a sua aplicação lógica, escolha uma das seguintes opções:

      • Criar novo recurso do Application Insights
      • Pule por enquanto. Você pode configurar o Application Insights após a implantação.
      • Selecione um recurso existente do Application Insights, se existir.

      Este exemplo seleciona Skip por enquanto.

      Observação

      • Se você tiver um recurso do Application Insights que deseja usar, poderá selecionar esse recurso.

      • Para criar um novo recurso do Application Insights neste momento para que você possa habilitar o registro e o rastreamento de diagnósticos, consulte Habilitar o Application Insights durante a implantação.

      Para obter mais informações sobre o Application Insights, consulte a seguinte documentação:

      Depois de selecionar Ignorar por enquanto ou um recurso existente do Application Insights, o Visual Studio Code mostra uma mensagem de confirmação para iniciar a implantação. A mensagem também recomenda que, para obter o melhor desempenho, coloque os recursos de conexão para operações gerenciadas no mesmo grupo de recursos que o recurso e os fluxos de trabalho do aplicativo lógico. Nos Aplicativos Lógicos do Azure, as conexões de operação gerenciadas existem como recursos individuais do Azure.

      A captura de tela mostra a mensagem de confirmação com as opções Implantar e Cancelar.

  4. Quando estiver pronto para implantar, na mensagem de confirmação, selecione Implantar.

    O Visual Studio Code começa a criar e implantar os recursos necessários para publicar seu aplicativo lógico no Azure.

  5. Para exibir e monitorar o processo de implantação, no menu Exibir , selecione Saída.

  6. Na barra de ferramentas da janela Saída, na lista de escopo, selecione Aplicativos Lógicos do Azure (Padrão).

    A captura de tela mostra a Janela de Saída e a lista de escopo com o Azure Logic Apps Standard selecionado, juntamente com o progresso e os estados da implementação.

    Quando o Visual Studio Code concluir a implantação de seu aplicativo lógico no Azure, aparecerá uma mensagem informando que a criação do aplicativo lógico foi concluída com êxito, por exemplo:

    A captura de tela mostra uma mensagem informando que a criação do aplicativo lógico foi concluída com êxito.

    Seu recurso de aplicativo lógico e fluxo de trabalho agora estão ativos, habilitados e em execução no Azure.

Habilite o Application Insights durante a implantação

Para habilitar o registro e o rastreamento de diagnósticos com o Application Insights durante a implantação do seu aplicativo lógico, siga estas etapas:

  1. Selecione um recurso existente do Application Insights ou Criar novo recurso do Application Insights.

  2. No portal do Azure, vá para o recurso do Application Insights.

  3. No menu de recursos, selecione Visão geral. Localize e copie o valor da Chave de instrumentação .

  4. No Visual Studio Code, na pasta raiz do projeto, abra o arquivo local.settings.json .

    1. Values No objeto, adicione a APPINSIGHTS_INSTRUMENTATIONKEY propriedade e defina o valor para a chave de instrumentação, por exemplo:

      {
         "IsEncrypted": false,
         "Values": {
            "AzureWebJobsStorage": "UseDevelopmentStorage=true",
            "FUNCTIONS_WORKER_RUNTIME": "dotnet",
            "APPINSIGHTS_INSTRUMENTATIONKEY": <instrumentation-key>
         }
      }
      
    2. Verifique se o gatilho do fluxo de trabalho e os nomes das ações aparecem corretamente na instância do Application Insights.

      1. No portal do Azure, vá para o recurso do Application Insights.

      2. No menu de recursos, em Investigar, selecione Mapa do aplicativo.

      3. Revise os nomes das operações que aparecem no mapa.

        Algumas solicitações de entrada de gatilhos internos podem aparecer como duplicatas no Mapa do Aplicativo. Em vez de usar o WorkflowName.ActionName formato, essas duplicatas usam o nome do fluxo de trabalho como o nome da operação e se originam do host do Azure Functions.

    3. Opcionalmente, ajuste o nível de gravidade dos dados de rastreamento que seu aplicativo lógico coleta e envia para sua instância do Application Insights.

      Cada vez que um evento relacionado ao fluxo de trabalho acontece, como quando um fluxo de trabalho é acionado ou quando uma ação é executada, o tempo de execução emite vários rastreamentos. Esses rastreamentos cobrem o tempo de vida do fluxo de trabalho e incluem, entre outros, os seguintes tipos de eventos:

      • Atividade de serviço, como iniciar, parar e erros.
      • Trabalhos e atividade de despachante.
      • Atividade do fluxo de trabalho, como gatilho, ação e execução.
      • Atividade de solicitação de armazenamento, como sucesso ou falha.
      • Atividade de solicitação HTTP, como entrada, saída, êxito e falha.
      • Qualquer traço de desenvolvimento, como mensagens de depuração.

      Cada tipo de evento é atribuído a um nível de gravidade. Por exemplo, o Trace nível captura as mensagens mais detalhadas, enquanto o Information nível captura a atividade geral no seu fluxo de trabalho, como quando a sua aplicação lógica, o fluxo de trabalho, o gatilho e as ações começam e param.

      A tabela a seguir descreve os níveis de gravidade e seus tipos de traço:

      Nível de gravidade Tipo de rastreio
      Crítico Logs que descrevem uma falha irrecuperável no fluxo de trabalho da aplicação lógica.
      Depurar Logs que você pode usar para investigação durante o desenvolvimento, por exemplo, chamadas HTTP de entrada e saída.
      Erro Logs que assinalam uma falha na execução do fluxo de trabalho, mas não uma falha geral na lógica da sua aplicação.
      Informações Logs que rastreiam a atividade geral em seu aplicativo lógico ou fluxo de trabalho, por exemplo:

      - Quando um gatilho, ação ou processo começa e termina.
      - Quando seu aplicativo lógico começa ou termina.
      Rastreio Logs que contêm as mensagens mais detalhadas, por exemplo, solicitações de armazenamento ou atividade do dispatcher, além de todas as mensagens relacionadas à atividade de execução do fluxo de trabalho.
      Aviso Logs que destacam um estado anormal na sua aplicação lógica, mas não impedem a sua execução.

      Para definir o nível de gravidade, no nível raiz do projeto, abra o arquivo host.json e localize o logging objeto. Este objeto controla a filtragem de log para todos os fluxos de trabalho em seu aplicativo lógico e segue o layout ASP.NET Core para filtragem de tipo de log.

      {
         "version": "2.0",
         "logging": {
            "applicationInsights": {
               "samplingExcludedTypes": "Request",
               "samplingSettings": {
                  "isEnabled": true
               }
            }
         }
      }
      

      Se o logging objeto não contiver um logLevel objeto que inclua a Host.Triggers.Workflow propriedade, adicione esses itens. Defina a propriedade para o nível de severidade para o tipo de rastreamento desejado, por exemplo:

      {
         "version": "2.0",
         "logging": {
            "applicationInsights": {
               "samplingExcludedTypes": "Request",
               "samplingSettings": {
                  "isEnabled": true
               }
            },
            "logLevel": {
               "Host.Triggers.Workflow": "Information"
            }
         }
      }
      

Tarefas pós-implantação

As seções a seguir descrevem as tarefas a serem executadas após a conclusão da implantação do aplicativo lógico.

Confirmar a implantação no portal do Azure

Depois de implantar seu aplicativo lógico do Visual Studio Code no portal do Azure, confirme se seu aplicativo lógico aparece no portal. Os recursos do Azure são organizados e agrupados no portal com base em seu tipo de recurso. Para localizar aplicativos lógicos padrão, siga estas etapas:

  1. Inicie sessão no portal do Azure com a sua conta do Azure.

  2. Na caixa de pesquisa de título do Azure, insira o nome do aplicativo lógico, que deve aparecer como resultado na seção Recursos . Selecione seu aplicativo lógico para abrir o recurso.

    A captura de tela mostra a caixa de pesquisa do Azure com o nome do aplicativo lógico inserido.

  3. No menu do aplicativo lógico, em Fluxos de trabalho, selecione Fluxos de trabalho.

  4. Na página Fluxos de trabalho, selecione seu fluxo de trabalho.

  5. No menu de fluxo de trabalho, em Ferramentas, selecione Designer. Confirme se o fluxo de trabalho aparece conforme o esperado.

    A captura de ecrã mostra a aplicação lógica implantada a partir do Visual Studio Code e a interface de design com o fluxo de trabalho criado anteriormente.

    Agora você pode fazer alterações nesse fluxo de trabalho no portal do Azure.

  6. Certifique-se de habilitar a experiência de monitoramento para seu aplicativo lógico implantado para que você possa exibir o histórico de execução do fluxo de trabalho, entradas, saídas e outras informações relacionadas.

Habilite a experiência de monitoramento para o aplicativo lógico implantado

Antes de poder revisar qualquer histórico de execução de fluxo de trabalho, entradas, saídas e informações relacionadas para um recurso de aplicativo lógico padrão implantado com a experiência de monitoramento no portal do Azure, você deve primeiro habilitar essa experiência no recurso de aplicativo lógico.

  1. No portal do Azure, abra o recurso do aplicativo lógico Standard implantado.

  2. No menu de recursos, em API, selecione CORS.

  3. No painel CORS , em Origens permitidas, adicione o caractere curinga (*).

  4. Quando terminar, na barra de ferramentas CORS , selecione Salvar.

    A captura de tela mostra o portal do Azure com o recurso de aplicativo lógico padrão implantado. No menu de recursos, CORS é selecionado com uma nova entrada para Origens permitidas definida como o caractere curinga *.

Habilitar ou abrir o Application Insights após a implantação

Durante a execução do fluxo de trabalho, o fluxo de trabalho do aplicativo lógico emite telemetria junto com outros eventos. Você pode usar essa telemetria para obter melhor visibilidade sobre como seu fluxo de trabalho é executado e como o tempo de execução dos Aplicativos Lógicos do Azure funciona. O Application Insights oferece a capacidade de habilitar o registro, o rastreamento e o monitoramento de diagnósticos para seu aplicativo lógico usando telemetria quase em tempo real (métricas ao vivo). Esse recurso ajuda a investigar falhas e problemas de desempenho mais facilmente quando você usa os dados de telemetria para diagnosticar problemas, configurar alertas e criar gráficos.

  • Se você não configurou anteriormente o Application Insights, poderá habilitar esse recurso no portal do Azure após a implantação do aplicativo lógico a partir do Visual Studio Code. Você precisa ter um recurso do Application Insights no Azure, mas pode criar esse recurso separadamente com antecedência ou quando habilitar esse recurso após a implantação.

  • Se você configurou anteriormente o Application Insights durante a implantação do Visual Studio Code, basta abrir seu recurso do Application Insights do seu aplicativo lógico no portal do Azure.

Habilitar o Application Insights para um aplicativo lógico implantado

  1. No portal do Azure, localize e abra seu aplicativo lógico implantado.

  2. No menu do aplicativo lógico, em Monitoramento, selecione Application Insights.

  3. Na página Application Insights , selecione Ativar Application Insights.

  4. Após a atualização da página Application Insights , na seção Alterar seu recurso , selecione uma das seguintes opções:

    • Criar novo recurso

      Azure cria recursos para Application Insights e um espaço de trabalho do Log Analytics utilizando a assinatura e o grupo de recursos atuais. Se você quiser usar uma assinatura e um grupo de recursos diferentes, consulte Criar um novo recurso do Application Insights e retorne a esta página.

      Propriedade Descrição
      Novo nome do recurso Aceite o nome gerado ou forneça outro nome.
      Localização Selecione uma região do Azure.
      Área de trabalho do Log Analytics Selecione um espaço de trabalho existente, se houver. Caso contrário, um espaço de trabalho padrão será criado para você. Para obter mais informações, consulte Visão geral do espaço de trabalho do Log Analytics.
    • Selecione o recurso existente:

      1. Selecione a assinatura do Azure para seu recurso do Application Insights.

      2. Selecione o seu recurso do Application Insights.

  5. Quando terminar, na parte inferior da página, selecione Aplicar.

Abra o Application Insights a partir do seu aplicativo lógico

  1. No portal do Azure, localize e abra seu aplicativo lógico implantado.

  2. No menu do aplicativo lógico, em Monitoramento, selecione Application Insights.

  3. Na página Application Insights , selecione o link para seu recurso do Application Insights.

Depois que o Application Insights for aberto, você poderá revisar várias métricas para seu aplicativo lógico. Para obter mais informações, consulte estes artigos:

Solucionar erros e problemas

Falha ao abrir o designer

Quando você tenta abrir o designer, você recebe este erro, "O tempo de design do fluxo de trabalho não pôde ser iniciado". Se você já tentou abrir o designer, mas descontinuou ou excluiu seu projeto, o pacote de extensão pode não ser baixado corretamente. Para verificar se esse motivo é a causa, siga estas etapas:

  1. No Visual Studio Code, abra a janela de saída. No menu Ver, selecione Saída.

  2. Na lista na barra de título da janela Saída, selecione Aplicativos Lógicos do Azure (Padrão) para que você possa revisar a saída da extensão, por exemplo:

    A captura de tela mostra a janela Saída com a lista de escopo e os Aplicativos Lógicos do Azure (Padrão) selecionados.

  3. Revise a saída e verifique se essa mensagem de erro aparece:

    A host error has occurred during startup operation '<operation-ID>'.
    System.Private.CoreLib: The file 'C:\Users\<user-name>\AppData\Local\Temp\Functions\
    ExtensionBundles\Microsoft.Azure.Functions.ExtensionBundle.Workflows\1.1.7\bin\
    DurableTask.AzureStorage.dll' already exists.
    Value cannot be null. (Parameter 'provider')
    Application is shutting down...
    Initialization cancellation requested by runtime.
    Stopping host...
    Host shutdown completed.
    

Para resolver esse erro, exclua a pasta ExtensionBundles neste local ...\Users\<user-name>\AppData\Local\Temp\Functions\ExtensionBundles e tente abrir novamente o arquivo workflow.json no designer.

Novos gatilhos e ações estão faltando no seletor de designer para fluxos de trabalho criados anteriormente

Os Aplicativos Lógicos do Azure de locatário único dão suporte a ações internas para Operações de Função do Azure, Operações Líquidas e Operações XML, como Validação XML e Transformação XML. No entanto, para aplicativos lógicos criados anteriormente, essas ações podem não aparecer no seletor de designer para você selecionar se o Visual Studio Code usa uma versão desatualizada do pacote de extensão, Microsoft.Azure.Functions.ExtensionBundle.Workflows.

Além disso, o conector e as ações das Operações de Função do Azure não aparecem no seletor de designers, a menos que você tenha habilitado ou selecionado Usar conectores do Azure quando criou seu aplicativo lógico. Se você não habilitou os conectores implantados no Azure no momento da criação do aplicativo, poderá habilitá-los a partir do seu projeto no Visual Studio Code. Abra o menu de atalho workflow.json e selecione Usar conectores do Azure.

Para corrigir o pacote desatualizado, siga estas etapas para excluir o pacote desatualizado, o que faz com que o Visual Studio Code atualize automaticamente o pacote de extensão para a versão mais recente.

Observação

Essa solução se aplica somente aos aplicativos lógicos que você cria e implanta usando o Visual Studio Code com a extensão Azure Logic Apps (Standard), não aos aplicativos lógicos que você cria usando o portal do Azure. Veja Os gatilhos e ações suportados que estão em falta no designer no portal do Azure.

  1. Salve qualquer trabalho que você não queira perder e feche o Visual Studio Code.

  2. No computador, navegue até a seguinte pasta, que contém pastas versionadas para o pacote existente:

    ...\Users\<user-name>\.azure-functions-core-tools\Functions\ExtensionBundles\Microsoft.Azure.Functions.ExtensionBundle.Workflows

  3. Exclua a pasta da versão do bundle anterior, por exemplo, se existir uma pasta para a versão 1.1.3, exclua essa pasta.

  4. Agora, navegue até a seguinte pasta, que contém pastas versionadas para o pacote NuGet necessário:

    ...\Users\<user-name>\.nuget\packages\microsoft.azure.workflows.webjobs.extension

  5. Exclua a pasta da versão do pacote anterior.

  6. Reabra o Visual Studio Code, seu projeto e o arquivo workflow.json no designer.

Os gatilhos e ações ausentes agora aparecem no designer.

"400 Bad Request" aparece em um gatilho ou ação

Quando uma execução falha e você inspeciona a execução no modo de exibição de monitoramento, esse erro pode aparecer em um gatilho ou ação que tenha um nome mais longo, o que faz com que o URI (Uniform Resource Identifier) subjacente exceda o limite de caracteres padrão.

Para resolver este problema e ajustar para o URI mais longo, edite as chaves de registo UrlSegmentMaxCount e UrlSegmentMaxLength no computador seguindo estas etapas. Os valores padrão dessa chave são descritos neste artigo, Http.sys configurações do Registro para Windows.

Importante

Antes de começar, certifique-se de que salve o seu trabalho. Esta solução requer que reinicie o computador depois de terminar para que as alterações possam entrar em vigor.

  1. No computador, abra a janela Executar e execute o regedit comando, que abre o editor do Registro.

  2. Na caixa Controle de Conta de Usuário , selecione Sim para permitir as alterações no computador.

  3. No painel esquerdo, em Computador, expanda os nós ao longo do caminho, HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameterse selecione Parâmetros.

  4. No painel direito, localize as chaves de registro UrlSegmentMaxCount e UrlSegmentMaxLength.

  5. Aumente esses valores de chave o suficiente para que os URIs possam acomodar os nomes que você deseja usar. Se essas chaves não existirem, adicione-as à pasta Parâmetros seguindo estas etapas:

    1. No menu de atalho Parâmetros, selecione Novo>valor DWORD (32 bits).

    2. Na caixa de edição apresentada, introduza UrlSegmentMaxCount como o nome da nova chave.

    3. Abra o menu de atalho da nova tecla e selecione Modificar.

    4. Na caixa Editar Cadeia de Caracteres exibida, insira o valor da chave de dados do valor desejado no formato hexadecimal ou decimal. Por exemplo, 400 em hexadecimal é equivalente a 1024 em decimal.

    5. Para adicionar o valor da UrlSegmentMaxLength chave, repita estas etapas.

    Depois de aumentar ou adicionar esses valores de chave, o editor do Registro se parece com este exemplo:

    Captura de tela que mostra o editor do Registro.

  6. Quando estiver pronto, reinicie o computador para que as alterações entrem em vigor.

Falha ao iniciar a sessão de depuração

Quando você tenta iniciar uma sessão de depuração, você recebe o erro, "O erro existe depois de executar preLaunchTask 'generateDebugSymbols'". Para resolver esse problema, edite o arquivo tasks.json em seu projeto para ignorar a geração de símbolos.

  1. Em seu projeto, expanda a pasta .vscode** e abra o arquivo tasks.json .

  2. Na tarefa a seguir, exclua a linha, "dependsOn: "generateDebugSymbols"juntamente com a vírgula que termina a linha anterior, por exemplo:

    Antes:

     {
       "type": "func",
       "command": "host start",
       "problemMatcher": "$func-watch",
       "isBackground": true,
       "dependsOn": "generateDebugSymbols"
     }
    

    Depois:

     {
       "type": "func",
       "command": "host start",
       "problemMatcher": "$func-watch",
       "isBackground": true
     }