Share via


Bonnes pratiques lors de la mise à jour d’un flux utilisé par une application Power App

Cet article décrit les meilleures pratiques et les étapes permettant d’atténuer les erreurs courantes lors de l’exécution de flux Microsoft dans Power Apps.

S’applique à : Power Apps
Numéro de la base de connaissances d’origine : 4477072

Code d’erreur « InvokerConnectionOverrideFailed » lors de l’exécution du flux

Certains flux ne parviennent pas à s’exécuter dans Power Apps. Dans l’historique des exécutions de Flow ou la télémétrie Power Apps, vous pouvez recevoir une erreur qui ressemble à ce qui suit :

    { 
        "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." 
    }

Remarque

Cette erreur se produit également lorsque vous appelez l’API install sur Common Data Service (CDS), mais que la réponse est une erreur générique « Échec du flux d’installation ».

Cause

Ce problème se produit parce que le flux a été mis à jour pour utiliser une nouvelle connexion, mais que l’application utilise toujours les anciennes métadonnées de flux. La mise à jour du flux ne met pas à jour les applications qui utilisent le flux. Pour résoudre ce problème, vous devez mettre à jour manuellement l’application pour que les modifications soient reflétées dans l’application et que le flux fonctionne.

Étapes d’atténuation

Remarque

Veillez à effectuer les étapes suivantes dans l’environnement source ou de développement et à mettre à jour la solution. Une fois la solution mise à jour, importez-la dans tous les environnements cibles ou de production.

  1. Ouvrez l’application pour la modifier à l’aide de la dernière version de Power Apps Studio.
  2. Supprimez les flux de l’application (Supprimer les flux de l’onglet Power Automate).
  3. Rajoutez les flux à l’application.
  4. Enregistrez et republiez l’application.

Code d’erreur « ConnectionAuthorizationFailed » lors de l’exécution du flux

    { 
        "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}'." 
    }

Cause

Cette erreur signifie que bien que le créateur dispose d’autorisations sur le flux, le créateur n’a pas d’autorisations sur les connexions dépendantes utilisées dans les actions de flux. Il s’agit d’une limitation de l’intégration de Power Apps et de Flow.

Étapes d’atténuation

Remarque

Veillez à effectuer les étapes suivantes dans l’environnement source ou de développement et à mettre à jour la solution. Une fois la solution mise à jour, importez-la dans tous les environnements cibles ou de production.

Cette atténuation consiste à ce que toutes les connexions du flux appartiennent à un seul utilisateur, puis que cet utilisateur ajoute le flux à l’application.

Code d’erreur « WorkflowTriggerIsNotEnabled » lors de l’exécution de Flow

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

Cause

Cette erreur signifie que le flux est désactivé.

Étapes d’atténuation

Remarque

Veillez à effectuer les étapes suivantes dans l’environnement source ou de développement et à mettre à jour la solution. Une fois la solution mise à jour, importez-la dans tous les environnements cibles ou de production.

L’atténuation consiste à activer le flux.

Code d’erreur interne « ResponseTimeout » lors de l’exécution de 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>'."
                    }
                }
            }
        } 

Cause

Cette erreur signifie que le flux synchrone prend plus de 120 secondes (2 minutes) pour se terminer, ce qui entraîne son expiration. En savoir plus sur la limite de délai d’expiration d’une requête synchrone sortante.

Étapes d’atténuation

Remarque

Veillez à effectuer les étapes suivantes dans l’environnement source ou de développement et à mettre à jour la solution. Une fois la solution mise à jour, importez-la dans tous les environnements cibles ou de production.

L’atténuation consiste à identifier l’exécution de flux qui prend trop de temps et à l’optimiser pour qu’elle s’exécute en deux minutes à l’aide des résolutions fournies dans Résoudre les problèmes de flux d’exécution lente.

Code d’erreur « 0x80040265 » ou « 0x80048d0b » lors de l’exécution du flux

    {

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

    }  
    {

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

    } 

Étapes d’atténuation

Remarque

Veillez à effectuer les étapes suivantes dans l’environnement source ou de développement et à mettre à jour la solution. Une fois la solution mise à jour, importez-la dans tous les environnements cibles ou de production.

Essayez les solutions mentionnées pour l’un des codes d’erreur suivants :

Code d’erreur « MissingConnectionReference » lors de l’exécution de Flow

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

Exemple d’erreur :

La référence de connexion «< nom> de connexion » n’a pas été donnée par l’appelant.

Cause

Essentiellement, les métadonnées d’application et de flux doivent être synchronisées. Toute modification apportée à un flux nécessite que le créateur de l’application modifie les applications à l’aide du flux et supprime ou rajoute le flux modifié.

Pour les applications de solution ou les flux, une application peut appeler correctement le flux dans l’environnement source, puis échouer dans l’environnement cible avec ce message d’erreur :

Connexion non configurée pour ce service.

La raison en est qu’il peut y avoir une modification du flux dans l’environnement cible, mais qu’il n’existe pas dans l’environnement source.

Étapes d’atténuation

Remarque

Veillez à effectuer les étapes suivantes dans l’environnement source ou de développement et à mettre à jour la solution. Une fois la solution mise à jour, importez-la dans tous les environnements cibles ou de production.

  1. Dans l’environnement source, modifiez l’application. Supprimez, puis rajoutez les flux à l’application. Enregistrez et publiez les modifications.

  2. Dans l’environnement cible, supprimez toutes les couches non managées sur l’application et le flux.

  3. Exportez la solution et importez-la dans l’environnement cible.

    Remarque

    Il ne peut y avoir aucune couche non managée sur le flux ou l’application, car cela peut entraîner des problèmes de connexion au flux.

Code d’erreur « NotAllowedConnectionReferenceon » lors de l’exécution de Flow

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

Exemple d’erreur :

La référence de connexion «< nom> de connexion » n’a pas été donnée par l’appelant.

Cause

Cette erreur signifie que l’application a des métadonnées de flux qui spécifient qu’une connexion SQL est requise sur l’installation, mais que les métadonnées de flux réelles sont différentes.

Étapes d’atténuation

Remarque

Veillez à effectuer les étapes suivantes dans l’environnement source ou de développement et à mettre à jour la solution. Une fois la solution mise à jour, importez-la dans tous les environnements cibles ou de production.

Option d’atténuation 1

  1. Dans l’environnement source, modifiez l’application. Supprimez, puis rajoutez les flux à l’application. Enregistrez et publiez les modifications.

  2. Dans l’environnement cible, supprimez toutes les couches non managées sur l’application et le flux.

  3. Exportez la solution et importez-la dans l’environnement cible.

    Remarque

    Il ne peut y avoir aucune couche non managée sur le flux ou l’application, car cela peut entraîner des problèmes de connexion au flux.

Option d’atténuation 2

  1. Modifiez la connexion de Embedded à Invoker.
  2. Accédez au portail de flux pour modifier et mettre à jour les paramètres de flux.
  3. Dans la page détails du flux, dans la section Exécuter uniquement les utilisateurs , sélectionnez Modifier.
  4. Pour mettre à jour la source de connexion de flux vers Invoker, sélectionnez Fourni par l’utilisateur d’exécution seule et enregistrez.
  5. Pour mettre à jour la source de connexion de flux sur Embedded, sélectionnez Utiliser cette connexion et enregistrer.
  6. Vérifiez en déclenchant le flux. Vous voyez que les appels de « réseau de flux d’installation » réussissent maintenant.

Autres symptômes

Après la mise à jour d’un flux, les appels à ce flux à partir de Power Apps commencent à échouer.

  • Si une nouvelle entrée est ajoutée à un flux sans mise à jour de Power App, le flux échoue avec un message d’erreur semblable au suivant :

    Impossible de traiter les expressions de langage de modèle dans les entrées « Send_me_a_mobile_notification » à la ligne « 1 » et à la colonne « 1900 » : « L’expression de langage de modèle 'triggerBody()['Sendmeamobilenotification_Text'] » ne peut pas être évaluée, car la propriété « Sendmeamobilenotification_Text » ne peut pas être sélectionnée. Pour plus d’informations sur l’utilisation, consultez https://aka.ms/logicexpressions .

    Capture d’écran du message d’erreur lors de l’ajout de la nouvelle entrée au flux sans mettre à jour Power App.

  • Si les connexions requises pour exécuter un flux changent, une erreur de plainte concernant les connexions doit apparaître :

    Dans Power Apps, il peut se présenter comme suit :

    Capture d’écran du message d’erreur se plaignant des connexions dans Power Apps.

    Ou dans Flow, il peut se présenter comme suit :

    Impossible de traiter les expressions de langage de modèle en action « Send_an_email » entrées à la ligne « 1 » et à la colonne « 1899 » : « Impossible d’évaluer l’expression de langage de modèle « json(decodeBase64(triggerOutputs().headers['X-MS-APIM-Tokens']]))['$connections']['shared_office365']['connectionId']' car la propriété 'shared_office365' n’existe pas, les propriétés disponibles sont « shared_flowpush ». Pour plus d’informations sur l’utilisation, consultez https://aka.ms/logicexpressions .

    Capture d’écran du message d’erreur se plaignant des connexions dans Flow.

  • Si une sortie de réponse est supprimée, Power Apps traite la valeur comme vide et Power App se comporte de manière inattendue.

Cause

Pour appeler un flux à partir de Power Apps, Power Apps doit savoir quelles entrées le flux a besoin, quelles connexions fournir au flux et quelles sorties le flux retourne. Power Apps stocke ces informations dans la définition de votre application Power App, ce qui crée une liaison entre une version de Power App et les flux utilisés dans celle-ci. La modification de l’un de ces trois aspects d’un flux peut interrompre toutes les versions précédentes de Power Apps qui s’intègrent à ce flux. Pour corriger une application Power App affectée ou utiliser l’une de ces modifications de flux, power app doit être mise à jour.

Les types de modifications les plus susceptibles d’interrompre la capacité de Power Apps à appeler un flux sont les suivants :

  • Ajout d’un nouveau jeton Ask dans Power Apps.

    Capture d’écran de l’ajout d’un nouveau jeton Ask dans Power Apps.

  • Ajout d’une nouvelle connexion. Par exemple, en ajoutant une nouvelle action à partir d’un connecteur qui n’était pas utilisé précédemment comme le connecteur SharePoint.

    Capture d’écran montrant un exemple d’ajout d’une nouvelle connexion.

  • Modification d’une connexion existante. Par exemple, la modification d’une connexion existante par une nouvelle connexion.

    Capture d’écran de la modification d’une connexion existante dans Flow.

  • Suppression d’une sortie d’une action Répondre à Power Apps.

    Capture d’écran de la suppression d’une sortie d’une action Répondre à Power Apps.

D’autres modifications apportées aux entrées ou sorties n’interrompent pas l’intégration entre Power Apps et Flow, mais nécessitent la mise à jour de Power App afin qu’elle puisse les utiliser.

Résolution

Modification d’une application Power App active

Une fois qu’une application Power App est publiée, il est toujours recommandé d’effectuer des copies des flux utilisés par Power Apps pour effectuer des mises à jour. Toute mise à jour d’un flux référencé par une application Power App active peut interrompre les utilisateurs existants. Ne supprimez pas ou ne désactivez pas les flux existants tant que tous les utilisateurs n’ont pas été mis à niveau vers la nouvelle version publiée de Power App.

Capture d’écran montrant comment effectuer des copies des flux utilisés par Power App en sélectionnant l’option Enregistrer sous.

Dans la nouvelle version de Power App, référencez les nouveaux flux. Lorsque la nouvelle version de Power App est publiée, les utilisateurs commencent à utiliser les nouveaux flux avec les entrées, sorties et connexions appropriées. Ce qui empêchera les mises à jour de flux pour les nouvelles versions de Power Apps d’affecter les utilisateurs de la version existante.

Modification d’une version de développement Power App

Lors du développement d’une application Power App, il est facile d’apporter des modifications à un flux non utilisé par une version active de Power App. Après avoir apporté des modifications aux entrées, sorties ou connexions d’un flux non publié, réélectionnez le flux dans le volet Flux .

Capture d’écran de la mise à jour d’une définition de flux dans Power Apps.

Il met à jour la définition du flux dans Power App en validant que les entrées, sorties et connexions correctes sont utilisées dans Power App.

Les utilisateurs de Power App ne commenceront pas à utiliser les nouveaux flux tant que Power App n’aura pas été publié. La mise à jour du flux existant est donc correcte jusqu’à ce qu’il soit utilisé par une version active de Power App.