Utiliser une gestion robuste des erreurs

La gestion efficace des erreurs est essentielle pour garantir que vos flux de travail automatisés fonctionnent de manière fiable et comme prévu. Cet article propose des stratégies pour identifier et résoudre les problèmes rapidement et efficacement.

Configurer les paramètres Exécuter après

Utilisez les paramètres Exécuter après pour spécifier ce qui doit se produire si une action échoue, expire, est ignorée ou réussit. Pour chaque action, vous pouvez définir des conditions afin de déterminer les étapes suivantes en fonction du résultat de l’action précédente. Cette approche vous permet de créer d’autres chemins pour la gestion des erreurs. Par exemple, si une action échoue, vous pouvez envoyer une notification ou consigner les détails de l’erreur dans l’action suivante.

Dans l’exemple suivant, le flux envoie une notification par courrier électronique s’il échoue à l’étape Mettre à jour une ligne :

Capture d’écran du concepteur Power Automate montrant les paramètres pour configurer une condition Exécuter après qui envoie un courrier électronique quand l’action Mettre à jour une ligne échoue.

Obtenir des informations sur l’exécution de flux actuel

La fonction workflow() est intégrée à Power Automate et fournit des informations sur l’exécution actuelle du workflow. Elle renvoie un objet JSON contenant des détails sur le workflow, notamment son ID, son nom et d’autres métadonnées. Elle est utile à des fins de journalisation et de débogage, car elle vous permet d’accéder dynamiquement aux informations sur l’exécution du flux.

Le schéma JSON workflow() est :

{
    "type": "object",
    "properties": {
        "id": {
            "type": "string"
        },
        "name": {
            "type": "string"
        },
        "type": {
            "type": "string"
        },
        "location": {
            "type": "string"
        },
        "tags": {
            "type": "object",
            "properties": {
                "flowDisplayName": {
                    "type": "string"
                },
                "environmentName": {
                    "type": "string"
                },
                "logicAppName": {
                    "type": "string"
                },
                "environmentFlowSuspensionReason": {
                    "type": "string"
                },
                "state": {
                    "type": "string"
                },
                "createdTime": {
                    "type": "string"
                },
                "lastModifiedTime": {
                    "type": "string"
                },
                "createdBy": {
                    "type": "string"
                },
                "triggerType": {
                    "type": "string"
                }
            }
        },
        "run": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                }
            }
        }
    } 
}

Utilisez l’action Analyser JSON avec le schéma JSON pour analyser la réponse de la fonction workflow(), comme dans l’exemple suivant.

Capture d’écran de l’action Analyser JSON dans le concepteur Power Automate montrant l’analyse du JSON de la fonction Workflow.

Obtenir l’URL de l’exécution de flux

Utilisez l’action Composer pour créer une URL d’exécution de flux. Vous pouvez l’utiliser pour créer un lien direct vers l’exécution de flux dans un courrier électronique de notification ou le stocker dans une table où vous consignez les erreurs.

Capture d’écran du concepteur Power Automate montrant une entrée de l’action Composer qui crée l’URL d’exécution du flux.

L’entrée suivante dans l’action Composer crée l’URL :

https://make.powerautomate.com/environments@{body('Parse_JSON')?['tags']?['environmentName']}/flows@{body('Parse_JSON')?['tags']?['logicAppName']}/runs@{body('Parse_JSON')?['run']}

Avertissement

Utilisez cette option avec précaution. Cela peut entraîner une journalisation personnalisée excessive et un nombre accru d’actions, ce qui peut avoir un impact négatif sur les performances de votre workflow. Une utilisation excessive peut conduire à un anti-modèle, où des alertes et des actions fréquentes dégradent l’efficacité de votre workflow.

Regrouper les actions dans des étendues pour la gestion des erreurs

Regroupez les actions associées dans des étendues et utilisez-les pour gérer les erreurs collectivement à l’aide d’un modèle try-catch. Placez vos actions principales dans une étendue « Try » et créez une étendue « Catch » pour la gestion des erreurs. Configurez l’étendue « Catch » pour qu’elle s’exécute si l’étendue « Try » échoue.

Dans l’exemple suivant, l’étendue « Catch » contient des actions permettant d’identifier l’erreur, de la consigner et d’envoyer une notification par courrier électronique.

Capture d’écran du concepteur Power Automate montrant la configuration de l’étendue Catch à exécuter en cas d’échec de l’étendue Try.

Dans cet exemple, l’action Filtrer un tableau filtre la réponse de la fonction result() pour obtenir l’erreur.

Capture d’écran du concepteur Power Automate montrant l’utilisation de l’action Filtrer un tableau pour filtrer la réponse à partir de la fonction de résultat.

Pour en savoir plus, consultez Organiser vos flux à l’aide d’étendues.

Implémenter une stratégie de nouvelles tentatives

Une stratégie de nouvelles tentatives aide vos workflows à récupérer après des défaillances transitoires qui se produisent en raison de problèmes temporaires ou intermittents avec un réseau ou un service. La stratégie de nouvelles tentatives dans les paramètres de flux vous permet de réessayer une action à intervalles fixes ou exponentiels. Les stratégies de nouvelle tentative exponentielle sont recommandées, car elles permettent de prolonger la période de nouvelle tentative dans le temps et d’augmenter les chances de réussite de l’action.

Une stratégie de nouvelle tentative exponentielle commence par un intervalle court et augmente progressivement l’intervalle entre les tentatives. Cette approche permet d’éviter de surcharger le système avec des tentatives fréquentes et laisse plus de temps pour résoudre le problème. Par exemple, dans une stratégie de nouvelle tentative exponentielle, la première tentative peut se produire au bout d’une minute, la deuxième au bout de deux minutes, la troisième au bout de quatre minutes, et ainsi de suite, jusqu’à ce que l’action réussisse.

Configurez la stratégie de nouvelle tentative dans les paramètres de l’action à laquelle vous souhaitez l’appliquer. Définissez l’intervalle initial, c’est-à-dire le temps avant la première nouvelle tentative, et le nombre maximal de nouvelles tentatives, ou le nombre maximal de nouvelles tentatives de l’action. Surveillez les performances de votre flux et ajustez les paramètres de nouvelle tentative si nécessaire.

Capture d’écran du concepteur Power Automate affichant les paramètres de stratégie de nouvelle tentative.

Pour en savoir plus, consultez Recommandations pour la gestion des défaillances transitoires.

Arrêter le flux après une erreur

Ajoutez l’action Terminer lorsque vous devez arrêter le flux en raison d’une erreur. L’action Terminer peut définir un statut pour déterminer l’étape suivante à effectuer. Par exemple, si une erreur critique se produit, vous pouvez utiliser l’action Terminer pour arrêter le flux et définir le statut sur « Échec » pour vous assurer qu’aucune autre action n’est exécutée. Pour vous aider à déterminer la raison de l’échec du flux, fournissez un statut et un message dans les paramètres de l’action Terminer.

Capture d’écran du concepteur Power Automate affichant les paramètres de l’action Terminer.

Consigner les erreurs et envoyer des notifications

Pour rendre vos workflows plus résilients, tirez parti de la journalisation des erreurs et des notifications. Utilisez des actions pour enregistrer les détails d’une erreur dans une liste SharePoint ou une autre solution de stockage, puis envoyez une notification pour alerter les parties prenantes. Le service de flux Power Automate envoie également des alertes par courrier électronique aux propriétaires de flux pour les défaillances courantes ou critiques, telles que les connexions interrompues ou les problèmes de limitation. Les alertes par courrier électronique incluent des informations détaillées sur les erreurs et des conseils de dépannage.

Au lieu d’utiliser la journalisation personnalisée, vous pouvez utiliser Application Insights pour vous alerter lorsque vos flux de cloud rencontrent une erreur. En savoir plus : Configurer Application Insights avec Power Automate.