Práticas recomendadas ao atualizar um fluxo usado por um Power App
Este artigo descreve as práticas recomendadas e as etapas para atenuar erros comuns ao executar fluxos da Microsoft no Power Apps.
Aplica-se a: Power Apps
Número original do KB: 4477072
Código de erro "InvokerConnectionOverrideFailed" na execução do Flow
Alguns fluxos não são executados no Power Apps. No histórico de execuções do Flow ou na telemetria do Power Apps, você pode receber um erro semelhante 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 Common Data Service (CDS), mas a resposta é um erro genérico "Falha no fluxo de instalação".
Causa
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
Certifique-se de executar as etapas a seguir no ambiente de origem ou desenvolvimento e atualizar a solução. Depois que a solução for atualizada, importe-a para todos os ambientes de destino ou de produção.
- Abra o aplicativo para edição usando a versão mais recente do Power Apps Studio.
- Remova os fluxos do aplicativo (Remover fluxos da guia Power Automate).
- Adicione novamente os fluxos ao aplicativo.
- Salve e publique novamente o aplicativo.
Código de erro "ConnectionAuthorizationFailed" na execução do Flow
{
"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}'."
}
Causa
Esse erro significa que, embora o criador tenha permissões para o fluxo, o criador 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
Certifique-se de executar as etapas a seguir no ambiente de origem ou desenvolvimento e atualizar a solução. Depois que a solução for atualizada, importe-a para todos os ambientes de destino ou de produção.
Essa mitigação é fazer com que todas as conexões no fluxo pertençam a 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 do Flow
{
"code": "WorkflowTriggerIsNotEnabled",
"message": "Could not execute workflow '<GUID>' trigger 'manual' with state 'Disabled': trigger is not enabled."
}
Causa
Esse erro significa que o fluxo está desativado.
Etapas de mitigação
Observação
Certifique-se de executar as etapas a seguir no ambiente de origem ou desenvolvimento e atualizar a solução. Depois que a solução for atualizada, importe-a para todos os ambientes de destino ou de produção.
A mitigação é ativar o fluxo.
Código de erro interno "ResponseTimeout" na execução do Flow
{
"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>'."
}
}
}
}
Causa
Esse erro significa que o fluxo síncrono leva mais de 120 segundos (2 minutos) para ser concluído, fazendo com que ele atinja o 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
Certifique-se de executar as etapas a seguir no ambiente de origem ou desenvolvimento e atualizar a solução. Depois que a solução for atualizada, importe-a para todos os ambientes de destino ou de 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 do Flow
{
"code": " 0x80040265",
"message": "Failed to install the flow."
}
{
"code": " 0x80048d0b",
"message": "Failed to install the flow."
}
Etapas de mitigação
Observação
Certifique-se de executar as etapas a seguir no ambiente de origem ou desenvolvimento e atualizar a solução. Depois que a solução for atualizada, importe-a para todos os ambientes de destino ou de produção.
Tente as soluções mencionadas para um dos seguintes códigos de erro:
Código de erro "MissingConnectionReference" na execução do Flow
{
"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 fornecida pelo invocador.
Causa
Essencialmente, os metadados do aplicativo e do fluxo devem ser sincronizados. Todas as alterações feitas em um fluxo exigem que o criador do aplicativo 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 este serviço.
O motivo é que pode haver uma alteração no fluxo no ambiente de destino, mas ela não existe no ambiente de origem.
Etapas de mitigação
Observação
Certifique-se de executar as etapas a seguir no ambiente de origem ou desenvolvimento e atualizar a solução. Depois que a solução for atualizada, importe-a para todos os ambientes de destino ou de produção.
No ambiente de origem, edite o aplicativo. Remova e adicione novamente os fluxos ao aplicativo. Salve e publique as alterações.
No ambiente de destino, remova todas as camadas não gerenciadas no aplicativo e no fluxo.
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, pois isso pode causar problemas em conexão com o fluxo.
Código de erro "NotAllowedConnectionReferenceon" na execução do Flow
{
"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 fornecida pelo invocador.
Causa
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
Certifique-se de executar as etapas a seguir no ambiente de origem ou desenvolvimento e atualizar a solução. Depois que a solução for atualizada, importe-a para todos os ambientes de destino ou de produção.
Opção de mitigação 1
No ambiente de origem, edite o aplicativo. Remova e adicione novamente os fluxos ao aplicativo. Salve e publique as alterações.
No ambiente de destino, remova todas as camadas não gerenciadas no aplicativo e no fluxo.
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, pois isso pode causar problemas em conexão com o fluxo.
Opção de mitigação 2
- Altere a conexão de Embedded para Invoker.
- Navegue até o portal de fluxo para editar e atualizar as configurações de fluxo.
- Na página de detalhes do fluxo, na seção Executar somente usuários, selecione Editar.
- Para atualizar a fonte de conexão de fluxo para o Invoker, selecione Fornecido pelo usuário somente execução e salve.
- Para atualizar a fonte de conexão de fluxo para Incorporado, selecione Usar esta conexão e salvar.
- Verifique acionando o fluxo. Você vê que as chamadas de "rede de fluxo de instalação" 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 semelhante à seguinte:
Não é possível processar expressões de linguagem de modelo nas entradas de ação '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.
https://aka.ms/logicexpressions
Consulte os detalhes de uso.'.Se as conexões necessárias para executar um fluxo forem alteradas, um erro reclamando sobre as conexões deverá aparecer:
No Power Apps, pode ser semelhante a:
Ou no Flow, pode ser parecido com:
Não é possível processar expressões de linguagem de modelo nas entradas de ação 'Send_an_email' na linha '1' e na coluna '1899': 'A expressão de 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'.
https://aka.ms/logicexpressions
Consulte os detalhes de uso.'.Se uma saída de resposta for removida, o Power Apps tratará o valor como em branco e o Power App se comportará de forma inesperada.
Causa
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 do Power App, 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 interromper 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 com maior probabilidade de interromper uma capacidade do Power Apps de chamar um fluxo incluem:
Adicionando 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.
Alterando uma conexão existente. Por exemplo, alterar uma conexão existente para uma nova conexão.
Removendo 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á-las.
Solução
Alterando um Power App em tempo real
Depois que um Power App é publicado, é sempre recomendável fazer cópias dos fluxos usados pelo Power Apps para fazer atualizações. Qualquer atualização de um fluxo referenciado por um Power App ao vivo tem o potencial de interromper os 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.
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, é fácil fazer alterações em um fluxo não usado por uma versão ao vivo do Power App. Depois de fazer alterações nas entradas, saídas ou conexões de um fluxo não publicado, selecione novamente o fluxo no painel Fluxos .
Ele atualizará a definição do fluxo no Power App, validando se 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 está ok até que ele seja usado por uma versão ao vivo do Power App.