Partilhar via


Práticas recomendadas ao atualizar um fluxo usado por um Power App

Este artigo descreve as melhores práticas e etapas para mitigar erros comuns ao executar fluxos da Microsoft no Power Apps.

Aplica-se a: Power Apps
Número de KB original: 4477072

Código de erro "InvokerConnectionOverrideFailed" na execução fluxo

Alguns fluxos não são executados no Power Apps. No histórico de execução de fluxo ou na telemetria do Power Apps, você pode receber um erro que se assemelha ao seguinte:

    { 
        "code": "InvokerConnectionOverrideFailed", 
        "message": "Failed to parse invoker connections from trigger 'manual' outputs. Exception: Could not find any valid connection for connection reference name '<some_connection>' in APIM tokens header." 
    }

Observação

Esse erro também ocorre quando você chama a install API no CDS (Common Data Service), mas a resposta é um erro genérico "Falha no fluxo de instalação".

Motivo

Esse problema ocorre porque o fluxo foi atualizado para usar uma nova conexão, mas o aplicativo ainda usa os metadados de fluxo antigos. Atualizar o fluxo não atualiza os aplicativos que usam o fluxo. Para resolver esse problema, você deve atualizar manualmente o aplicativo para que as alterações sejam refletidas no aplicativo e para que o fluxo funcione.

Etapas de mitigação

Observação

Execute as seguintes etapas no ambiente de origem ou desenvolvimento e atualize a solução. Depois que a solução for atualizada, importe-a para todos os ambientes de destino ou produção.

  1. Abra o aplicativo para edição usando a versão mais recente do Power Apps Studio.
  2. Remova os fluxos do aplicativo (Remover fluxos da guia Power Automate).
  3. Adicione novamente os fluxos ao aplicativo.
  4. Salve e republice o aplicativo.

Código de erro "ConnectionAuthorizationFailed" na execução fluxo

    { 
        "code": "ConnectionAuthorizationFailed", 
        "message": "The caller with object id '{user_id}' does not have the minimum required permission to perform the requested operation on connection '{some_connection_id}' under API '{some_connection_api}'." 
    }

Motivo

Esse erro significa que, embora o criador tenha permissões para o fluxo, o fabricante não tem permissões para as conexões dependentes usadas nas ações de fluxo. Essa é uma limitação da integração do Power Apps e do Flow.

Etapas de mitigação

Observação

Execute as seguintes etapas no ambiente de origem ou desenvolvimento e atualize a solução. Depois que a solução for atualizada, importe-a para todos os ambientes de destino ou produção.

Essa mitigação é fazer com que todas as conexões no fluxo sejam de propriedade de um único usuário e, em seguida, fazer com que esse usuário adicione o fluxo ao aplicativo.

Código de erro "WorkflowTriggerIsNotEnabled" na execução fluxo

    { 
        "code": "WorkflowTriggerIsNotEnabled", 
        "message": "Could not execute workflow '<GUID>' trigger 'manual' with state 'Disabled': trigger is not enabled."  
    } 

Motivo

Esse erro significa que o fluxo está desativado.

Etapas de mitigação

Observação

Execute as seguintes etapas no ambiente de origem ou desenvolvimento e atualize a solução. Depois que a solução for atualizada, importe-a para todos os ambientes de destino ou produção.

A mitigação é ativar o fluxo.

Código de erro interno "ResponseTimeout" na execução fluxo

        {
            "error": {
            "code": 504,
            "source": "<api hub source>",
            "clientRequestId": "<GUID>",
            "message": "BadGateway",
            "innerError": {
                "error": {
                    "code": "ResponseTimeout",
                    "message": "The server did not receive a timely response from the upstream server. Request tracking id '<some_tracking_id>'."
                    }
                }
            }
        } 

Motivo

Esse erro significa que o fluxo síncrono leva mais de 120 segundos (2 minutos) para ser concluído, fazendo com que ele tenha um tempo limite. Saiba mais sobre o limite de tempo limite de uma solicitação síncrona de saída.

Etapas de mitigação

Observação

Execute as seguintes etapas no ambiente de origem ou desenvolvimento e atualize a solução. Depois que a solução for atualizada, importe-a para todos os ambientes de destino ou produção.

A mitigação é descobrir qual execução de fluxo está demorando muito e otimizá-la para ser executada em dois minutos usando as resoluções fornecidas em Solucionar problemas de fluxos de execução lenta.

Código de erro "0x80040265" ou "0x80048d0b" na execução fluxo

    {

        "code": " 0x80040265", 
        "message": "Failed to install the flow."  

    }  
    {

        "code": " 0x80048d0b", 
        "message": "Failed to install the flow."  

    } 

Etapas de mitigação

Observação

Execute as seguintes etapas no ambiente de origem ou desenvolvimento e atualize a solução. Depois que a solução for atualizada, importe-a para todos os ambientes de destino ou produção.

Experimente as soluções mencionadas para um dos seguintes códigos de erro:

Código de erro "MissingConnectionReference" na execução fluxo

    { 
        "code": " MissingConnectionReference' ", 
        "message": " Connection reference '<connection name>' was not given by invoker."
    } 

Erro de exemplo:

A referência de conexão '<nome> da conexão' não foi dada pelo invocador.

Motivo

Essencialmente, os metadados de aplicativo e fluxo devem ser sincronizados. Todas as alterações feitas em um fluxo exigem que o criador de aplicativos edite os aplicativos usando o fluxo e remova ou adicione novamente o fluxo alterado.

Para aplicativos ou fluxos de solução, um aplicativo pode invocar com êxito o fluxo no ambiente de origem e, em seguida, falhar no ambiente de destino com esta mensagem de erro:

Conexão não configurada para esse serviço.

O motivo é que pode haver uma alteração no fluxo no ambiente de destino, mas ele não existe no ambiente de origem.

Etapas de mitigação

Observação

Execute as seguintes etapas no ambiente de origem ou desenvolvimento e atualize a solução. Depois que a solução for atualizada, importe-a para todos os ambientes de destino ou produção.

  1. No ambiente de origem, edite o aplicativo. Remova e adicione novamente os fluxos ao aplicativo. Salve e publique as alterações.

  2. No ambiente de destino, remova todas as camadas não gerenciadas no aplicativo e no fluxo.

  3. Exporte a solução e importe-a para o ambiente de destino.

    Observação

    Não pode haver camadas não gerenciadas no fluxo ou no aplicativo porque isso pode causar problemas na conexão com o fluxo.

Código de erro "NotAllowedConnectionReferenceon" na execução fluxo

    {
        "code": " NotAllowedConnectionReference", 
        "message": "Connection reference '<connection name>' was not given by invoker."
    }

Erro de exemplo:

A referência de conexão '<nome> da conexão' não foi dada pelo invocador.

Motivo

Esse erro significa que o aplicativo tem metadados de fluxo que especificam que uma conexão SQL é necessária na instalação, mas os metadados de fluxo reais são diferentes.

Etapas de mitigação

Observação

Execute as seguintes etapas no ambiente de origem ou desenvolvimento e atualize a solução. Depois que a solução for atualizada, importe-a para todos os ambientes de destino ou produção.

Opção de mitigação 1

  1. No ambiente de origem, edite o aplicativo. Remova e adicione novamente os fluxos ao aplicativo. Salve e publique as alterações.

  2. No ambiente de destino, remova todas as camadas não gerenciadas no aplicativo e no fluxo.

  3. Exporte a solução e importe-a para o ambiente de destino.

    Observação

    Não pode haver camadas não gerenciadas no fluxo ou no aplicativo porque isso pode causar problemas na conexão com o fluxo.

Opção de mitigação 2

  1. Altere a conexão de Embedded para Invoker.
  2. Navegue até o portal de fluxo para editar e atualizar as configurações de fluxo.
  3. Na página detalhes do fluxo, na seção Executar somente usuários , selecione Editar.
  4. Para atualizar a fonte de conexão de fluxo para Invoker, selecione Fornecido por usuário somente execução e salve.
  5. Para atualizar a fonte de conexão de fluxo para Embedded, selecione Usar essa conexão e salvar.
  6. Verifique disparando o fluxo. Você vê que as chamadas de "instalar rede de fluxo" agora estão sendo bem-sucedidas.

Outros sintomas

Depois de atualizar um fluxo, as chamadas para esse fluxo do Power Apps começam a falhar.

  • Se uma nova entrada for adicionada a um fluxo sem que um Power App seja atualizado, o fluxo falhará com uma mensagem de erro que se assemelha ao seguinte:

    Não é possível processar expressões de linguagem de modelo em ação entradas 'Send_me_a_mobile_notification' na linha '1' e na coluna '1900': 'A expressão de linguagem de modelo 'triggerBody()['Sendmeamobilenotification_Text']' não pode ser avaliada porque a propriedade 'Sendmeamobilenotification_Text' não pode ser selecionada. Consulte para obter https://aka.ms/logicexpressions detalhes de uso.'.

    Captura de tela da mensagem de erro ao adicionar a nova entrada ao fluxo sem atualizar o Power App.

  • Se as conexões necessárias para executar uma alteração de fluxo, um erro que reclama de conexões deverá aparecer:

    No Power Apps, pode parecer:

    Captura de tela da mensagem de erro reclamando das conexões no Power Apps.

    Ou no Flow, pode parecer:

    Não é possível processar expressões de linguagem de modelo em ação entradas 'Send_an_email' na linha '1' e na coluna '1899': 'A expressão da linguagem de modelo 'json(decodeBase64(triggerOutputs().headers['X-MS-APIM-Tokens']))['$connections']['shared_office365']['connectionId']' não pode ser avaliada porque a propriedade 'shared_office365' não existe, as propriedades disponíveis são 'shared_flowpush'. Consulte para obter https://aka.ms/logicexpressions detalhes de uso.'.

    Captura de tela da mensagem de erro reclamando das conexões no Flow.

  • Se uma saída de resposta for removida, o Power Apps tratará o valor como em branco e o Power App se comportará inesperadamente.

Motivo

Para invocar um fluxo do Power Apps, o Power Apps precisa saber quais entradas o fluxo precisa, quais conexões fornecer ao fluxo e quais saídas o fluxo retornará. O Power Apps armazena essas informações na definição de seu Power App, o que cria uma associação entre uma versão de um Power App e os fluxos usados nele. Alterar qualquer um desses três aspectos de um fluxo pode quebrar todas as versões anteriores do Power Apps que se integram a esse fluxo. Para corrigir um Power App afetado ou usar uma dessas alterações de fluxo, o Power App precisa ser atualizado.

Os tipos de alterações mais propensos a quebrar uma capacidade do Power Apps de chamar um fluxo incluem:

  • Adicionando um novo token Ask no Power Apps.

    Captura de tela da adição de um novo token Ask no Power Apps.

  • Adicionando uma nova conexão. Por exemplo, adicionando uma nova ação de um Conector que não foi usado anteriormente como o Conector do SharePoint.

    A captura de tela mostra um exemplo de adição de uma nova conexão.

  • Alterando uma conexão existente. Por exemplo, alterando uma conexão existente para uma nova conexão.

    Captura de tela da alteração de uma conexão existente no Flow.

  • Removendo uma saída de uma ação Responder ao Power Apps.

    Captura de tela da remoção de uma saída de uma ação Responder ao Power Apps.

Outras alterações nas entradas ou saídas não interromperão a integração entre o Power Apps e o Flow, mas exigirão que o Power App seja atualizado para que ele possa usá-los.

Resolução

Alterando um Power App ao vivo

Depois que um Power App é publicado, é sempre recomendável fazer cópias de fluxos usados pelos Power Apps para fazer atualizações. Qualquer atualização para um fluxo referenciado por um Power App ao vivo tem o potencial de quebrar usuários existentes. Não exclua ou desative os fluxos existentes até que todos os usuários tenham sido atualizados para a nova versão publicada do Power App.

Captura de tela para fazer cópias dos fluxos usados pelo Power App selecionando a opção Salvar como.

Na nova versão do Power App, faça referência aos novos fluxos. Quando a nova versão do Power App for publicada, os usuários começarão a usar os novos fluxos com as entradas, saídas e conexões corretas. O que impedirá que as atualizações de fluxo para novas versões do Power Apps afetem os usuários da versão existente.

Alterando uma versão de desenvolvimento do Power App

Ao desenvolver um Power App, fazer alterações em um fluxo não usado por uma versão ao vivo do Power App é fácil. Depois de fazer alterações nas entradas, saídas ou conexões de um fluxo não publicado, reelecione o fluxo do painel Fluxos .

Captura de tela da atualização de uma definição de fluxo no Power Apps.

Ele atualizará a definição do fluxo no Power App validando que as entradas, saídas e conexões corretas são usadas no Power App.

Os usuários do Power App não começarão a usar os novos fluxos até que o Power App seja publicado. Portanto, atualizar o fluxo existente é ok até que ele seja usado por uma versão ao vivo do Power App.