Resolver problemas e diagnosticar falhas do fluxo de trabalho no Azure Logic Apps

Aplica-se a: Azure Logic Apps (Consumo + Standard)

O fluxo de trabalho da aplicação lógica gera informações que podem ajudá-lo a diagnosticar e depurar problemas na sua aplicação. Pode diagnosticar o fluxo de trabalho ao rever as entradas, saídas e outras informações para cada passo no fluxo de trabalho com o portal do Azure. Em alternativa, pode adicionar alguns passos a um fluxo de trabalho para depuração de runtime.

Verificar o histórico do acionador

Cada execução de fluxo de trabalho começa com um acionador, que é acionado numa agenda ou aguarda um pedido ou evento recebido. O histórico de acionadores lista todas as tentativas de acionador efetuadas pelo fluxo de trabalho e informações sobre as entradas e saídas de cada tentativa de acionador. Se o acionador não for acionado, experimente os seguintes passos.

  1. Para verificar o estado do acionador na aplicação lógica Consumo, reveja o histórico de acionadores. Para ver mais informações sobre a tentativa de acionador, selecione esse evento de acionador, por exemplo:

    Captura de ecrã a mostrar portal do Azure com o histórico de acionadores do fluxo de trabalho da aplicação lógica consumo.

  2. Verifique as entradas do acionador para confirmar que aparecem como esperado. No painel Histórico , na ligação Entradas, selecione a ligação, que mostra o painel Entradas .

    As entradas de acionadores incluem os dados esperados pelo acionador e necessitam de iniciar o fluxo de trabalho. Rever estas entradas pode ajudá-lo a determinar se as entradas do acionador estão corretas e se a condição foi cumprida para que o fluxo de trabalho possa continuar.

    Captura de ecrã a mostrar entradas de acionadores do fluxo de trabalho da aplicação lógica de consumo.

  3. Verifique as saídas dos acionadores, se existirem, para confirmar que aparecem como esperado. No painel Histórico , na ligação Saídas, selecione a ligação, que mostra o painel Saídas .

    As saídas do acionador incluem os dados que o acionador passa para o passo seguinte no fluxo de trabalho. Rever estas saídas pode ajudá-lo a determinar se os valores corretos ou esperados passaram para o passo seguinte no fluxo de trabalho.

    Por exemplo, uma mensagem de erro indica que o feed RSS não foi encontrado:

    Captura de ecrã a mostrar as saídas do acionador do fluxo de trabalho da aplicação lógica consumo.

    Dica

    Se encontrar conteúdos que não reconheça, saiba mais sobre diferentes tipos de conteúdo no Azure Logic Apps.

Verificar o histórico de execuções do fluxo de trabalho

Sempre que o acionador é acionado, o Azure Logic Apps cria uma instância de fluxo de trabalho e executa essa instância. Se uma execução falhar, experimente os seguintes passos para que possa rever o que aconteceu durante essa execução. Pode rever o estado, as entradas e as saídas de cada passo no fluxo de trabalho.

  1. Para verificar o estado de execução do fluxo de trabalho na sua aplicação lógica consumo, reveja o histórico de execuções. Para ver mais informações sobre uma execução falhada, incluindo todos os passos nessa execução no respetivo estado, selecione a execução falhada.

    Captura de ecrã a mostrar portal do Azure com execuções do fluxo de trabalho da aplicação lógica consumo e uma execução falhada selecionada.

  2. Depois de todos os passos da execução serem apresentados, selecione cada passo para expandir as respetivas formas.

    Captura de ecrã a mostrar o fluxo de trabalho da aplicação lógica consumo com o passo falhado selecionado.

  3. Reveja as entradas, saídas e quaisquer mensagens de erro do passo com falha.

    Captura de ecrã a mostrar o fluxo de trabalho da aplicação lógica de consumo com detalhes do passo com falhas.

    Por exemplo, a seguinte captura de ecrã mostra as saídas da ação RSS falhada.

    Captura de ecrã a mostrar o fluxo de trabalho da aplicação lógica consumo com saídas de passo falhadas.

Executar a depuração do runtime

Para ajudar na depuração, pode adicionar passos de diagnóstico a um fluxo de trabalho de aplicação lógica, juntamente com a revisão do acionador e do histórico de execuções. Por exemplo, pode adicionar passos que utilizam o serviço Webhook Tester , para que possa inspecionar os pedidos HTTP e determinar o respetivo tamanho, forma e formato exatos.

  1. Num browser, aceda ao site do Webhook Tester e copie o URL exclusivo gerado.

  2. Na sua aplicação lógica, adicione uma ação HTTP POST com o conteúdo do corpo que pretende testar, por exemplo, uma expressão ou outra saída de passo.

  3. Cole o URL do Webhook Tester na ação HTTP POST.

  4. Para rever a forma como o Azure Logic Apps gera e forma um pedido, execute o fluxo de trabalho da aplicação lógica. Em seguida, pode rever o site do Webhook Tester para obter mais informações.

Desempenho – perguntas mais frequentes (FAQ)

Porque é que a duração da execução do fluxo de trabalho é superior à soma de todas as durações de ação do fluxo de trabalho?

A sobrecarga de agendamento existe ao executar ações, enquanto o tempo de espera entre ações pode ocorrer devido à carga do sistema de back-end. Uma duração de execução do fluxo de trabalho inclui estes tempos de agendamento e tempos de espera, juntamente com a soma de todas as durações da ação.

Normalmente, o meu fluxo de trabalho é concluído dentro de 10 segundos. Mas, por vezes, a conclusão pode demorar muito mais tempo. Como posso certificar-me de que o fluxo de trabalho termina sempre dentro de 10 segundos?

  • Não existe nenhuma garantia de SLA sobre latência.

  • Os fluxos de trabalho de consumo são executados no Azure Logic Apps multi-inquilino, pelo que as cargas de trabalho de outros clientes podem afetar negativamente o desempenho do fluxo de trabalho.

  • Para um desempenho mais previsível, pode considerar a criação de fluxos de trabalho Standard, que são executados no Azure Logic Apps de inquilino único. Terá mais controlo para aumentar ou aumentar verticalmente para melhorar o desempenho.

A minha acção excede o limite de tempo após 2 minutos. Como posso aumentar o valor de tempo limite?

O valor de tempo limite da ação não pode ser alterado e é corrigido em 2 minutos. Se estiver a utilizar a ação HTTP e for o proprietário do serviço chamado pela ação HTTP, pode alterar o serviço para evitar o tempo limite de 2 minutos com o padrão assíncrono. Para obter mais informações, veja Executar tarefas de execução prolongada com o padrão de ação de consulta.

Problemas comuns – Aplicações lógicas padrão

Artefactos inacessíveis na conta de armazenamento do Azure

As aplicações lógicas padrão armazenam todos os artefactos numa conta de armazenamento do Azure. Poderá obter os seguintes erros se estes artefactos não estiverem acessíveis. Por exemplo, a conta de armazenamento em si pode não estar acessível ou a conta de armazenamento está protegida por uma firewall, mas não está configurado nenhum ponto final privado para os serviços de armazenamento utilizarem.

portal do Azure localização Erro
Painel Descrição geral - System.private.corelib:Acesso ao caminho 'C:\home\site\wwwroot\hostj.son é negado

- Azure.Storage.Blobs: este pedido não está autorizado a realizar esta operação
Painel Fluxos de Trabalho - Não é possível aceder ao runtime do anfitrião. Detalhes do erro, Código: "BadRequest", Mensagem: "Foi encontrado um erro (InternalServerError) no runtime do anfitrião."

- Não é possível aceder ao runtime do anfitrião. Detalhes do erro, Código: "BadRequest", Mensagem: "Foi encontrado um erro (ServiceUnavailable) no runtime do anfitrião."

- Não é possível aceder ao runtime do anfitrião. Detalhes do erro, Código: "BadRequest", Mensagem: "Foi encontrado um erro (BadGateway) no runtime do anfitrião."
Durante a criação e execução do fluxo de trabalho - Falha ao guardar o fluxo de trabalho

- Erro no estruturador: GetCallFailed. Falha ao obter operações

- falha na chamada ajaxExtended

Opções de resolução de problemas

A lista seguinte inclui possíveis causas para estes erros e passos para ajudar a resolver problemas.

  • Para uma conta de armazenamento pública, verifique o acesso à conta de armazenamento das seguintes formas:

    Se a conectividade falhar, verifique se a chave de Assinatura de Acesso Partilhado (SAS) na cadeia de ligação é a mais recente.

  • Para uma conta de armazenamento protegida por uma firewall, verifique o acesso à conta de armazenamento das seguintes formas:

    • Se as restrições da firewall estiverem ativadas na conta de armazenamento, verifique se os pontos finais privados estão configurados para os serviços de armazenamento de Blobs, Ficheiros, Tabelas e Filas.

    • Verifique a conectividade da conta de armazenamento com Explorador de Armazenamento do Azure.

    Se encontrar problemas de conectividade, continue com os seguintes passos:

    1. Na mesma rede virtual integrada na sua aplicação lógica, crie uma máquina virtual do Azure, que pode colocar numa sub-rede diferente.

    2. Numa linha de comandos, execute nslookup para verificar se os serviços de armazenamento de Blobs, Ficheiros, Tabelas e Filas são resolvidos para os endereços IP esperados.

      Sintaxe: nslookup [StorageaccountHostName] [OptionalDNSServer]

      Blob: nslookup {StorageaccountName}.blob.core.windows.net

      Ficheiro: nslookup {StorageaccountName}.file.core.windows.net

      Tabela: nslookup {StorageaccountName}.table.core.windows.net

      Fila: nslookup {StorageaccountName}.queue.core.windows.net

      • Se o serviço de armazenamento tiver um Ponto Final de Serviço, o serviço será resolvido para um endereço IP público.

      • Se o serviço de armazenamento tiver um ponto final privado, o serviço será resolvido para os respetivos endereços IP privados do controlador de interface de rede (NIC).

    3. Se as consultas anteriores do servidor de nomes de domínio (DNS) forem resolvidas com êxito, execute os comandos psping ou tcpping para verificar a conectividade à conta de armazenamento através da porta 443:

      Sintaxe: psping [StorageaccountHostName] [Port] [OptionalDNSServer]

      Blob: psping {StorageaccountName}.blob.core.windows.net:443

      Ficheiro: psping {StorageaccountName}.file.core.windows.net:443

      Tabela: psping {StorageaccountName}.table.core.windows.net:443

      Fila: psping {StorageaccountName}.queue.core.windows.net:443

    4. Se cada serviço de armazenamento for resolvível a partir da máquina virtual do Azure, localize o DNS utilizado pela máquina virtual para resolução.

      1. Defina a definição da aplicação WEBSITE_DNS_SERVER da aplicação lógica para o DNS e confirme que o DNS funciona com êxito.

      2. Confirme que a integração da VNet está configurada corretamente com a rede virtual e a sub-rede adequadas na sua aplicação lógica Standard.

    5. Se utilizar zonas DNS privadas do Azure para os serviços de ponto final privado da sua conta de armazenamento, verifique se foi criada uma ligação de rede virtual para a rede virtual integrada da sua aplicação lógica.

Para obter mais informações, veja Deploy Standard logic app to a storage account behind a firewall using service or private endpoints (Implementar a aplicação lógica Standard numa conta de armazenamento protegida por uma firewall com pontos finais privados ou de serviço).

Passos seguintes