Meilleures 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 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 flow ou la télémétrie Power Apps, vous pouvez recevoir une erreur semblable à 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."
}
Note
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 pour que le flux fonctionne.
Étapes de correction
Note
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 cible ou de production.
- Ouvrez l’application pour modification à l’aide de la dernière version de Power Apps Studio.
- Supprimez les flux de l’application (supprimez les flux de l’onglet Power Automate).
- Rajoutez les flux à l’application.
- 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 les autorisations nécessaires pour 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 Flow.
Étapes de correction
Note
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 cible ou de production.
Cette atténuation consiste à avoir toutes les connexions dans le flux détenues par un seul utilisateur, puis à ce 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 de correction
Note
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 cible ou de production.
L’atténuation consiste à activer le flux.
Code d’erreur interne « ResponseTimeout » lors de l’exécution du flux
{
"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 de correction
Note
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 cible ou de production.
L’atténuation consiste à déterminer quelle exécution de flux prend trop de temps et à l’optimiser pour s’exécuter en deux minutes à l’aide des résolutions fournies dans Résoudre les problèmes de flux d’exécution lents.
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 de correction
Note
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 cible 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 du flux
{
"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. Toutes les modifications apportées à un flux nécessitent que le créateur d’applications modifie les applications à l’aide du flux et supprime ou réinscrire le flux modifié.
Pour les applications ou flux de solution, 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 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 de correction
Note
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 cible ou de production.
Dans l’environnement source, modifiez l’application. Supprimez, puis rajoutez les flux à l’application. Enregistrez et publiez les modifications.
Dans l’environnement cible, supprimez toutes les couches non managées sur l’application et le flux.
Exportez la solution et importez-la dans l’environnement cible.
Note
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 lors de l’installation, mais que les métadonnées de flux réelles sont différentes.
Étapes de correction
Note
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 cible ou de production.
Option d’atténuation 1
Dans l’environnement source, modifiez l’application. Supprimez, puis rajoutez les flux à l’application. Enregistrez et publiez les modifications.
Dans l’environnement cible, supprimez toutes les couches non managées sur l’application et le flux.
Exportez la solution et importez-la dans l’environnement cible.
Note
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
- Remplacez la connexion de Embedded à Invoker.
- Accédez au portail de flux pour modifier et mettre à jour les paramètres de flux.
- Sur la page des détails du flux, dans la section Utilisateurs en exécution seule, sélectionnez Modifier.
- Pour mettre à jour la source de connexion de flux à Invoker, sélectionnez Fourni par l’utilisateur d’exécution uniquement et enregistrez.
- Pour mettre à jour la source de connexion de flux vers Embedded, sélectionnez Utiliser cette connexion et enregistrer.
- Vérifiez en déclenchant le flux. Vous voyez que les appels « 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 d’une application Power, le flux échoue avec un message d’erreur semblable à ce qui suit :
Impossible de traiter les expressions de langage de modèle en action « Send_me_a_mobile_notification » entrées à 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
la rubrique .Si les connexions requises pour exécuter une modification de flux, une erreur se plaint des connexions doit apparaître :
Dans Power Apps, il peut ressembler à ceci :
Ou dans Flow, il peut ressembler à ceci :
Impossible de traiter les expressions de langage de modèle en action « Send_an_email » entrées à la ligne « 1 » et à la colonne « 1899 » : « L’expression de langage de modèle « json(decodeBase64(triggerOutputs().headers['X-MS-APIM-Tokens'])['$connections']['shared_office365']['connectionId']' ne peut pas être évaluée, 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
la rubrique .Si une sortie de réponse est supprimée, Power Apps traite la valeur comme vide et Power App se comporte de façon 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 retourneront. Power Apps stocke ces informations dans la définition de votre application Power, ce qui crée une liaison entre une version d’une application Power et les flux utilisés dans celui-ci. La modification 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 pour utiliser l’une de ces modifications de flux, l’application Power Doit être mise à jour.
Les types de modifications les plus susceptibles d’interrompre une capacité Power Apps à appeler un flux sont les suivants :
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.
Modification d’une connexion existante. Par exemple, la modification d’une connexion existante à une nouvelle connexion.
Suppression d’une sortie d’une action Répondre à Power Apps.
Les autres modifications apportées aux entrées ou sorties ne 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 de 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 désactivez les flux existants tant que tous les utilisateurs n’ont pas été mis à niveau vers la nouvelle version publiée de Power App.
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 correctes. Ce qui empêche 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, il est facile d’apporter des modifications à un flux qui n’est pas 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 .
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 l’application Power App n’est pas publiée. La mise à jour du flux existant est donc correcte jusqu’à ce qu’il soit utilisé par une version active de Power App.