Partager via


Optimiser les déclencheurs Power Automate

Un déclencheur est un événement qui lance un flux de cloud dans Power Automate. Par exemple, pour recevoir une notification Microsoft Teams chaque fois que vous recevez un e-mail, vous pouvez configurer un déclencheur qui démarre un flux lorsqu’un e-mail arrive dans votre boîte de réception. Les déclencheurs sont les points de départ d’un flux et peuvent être basés sur divers événements.

Types de déclencheurs

Deux principaux types de déclencheurs disponibles dans Power Automate. Une fois que vous avez créé un flux, le déclencheur s’enregistre pour interroger le service auquel il se connecte ou pour écouter les événements du service. Le déclencheur active ensuite le flux lorsque l’événement spécifié se produit.

  • Déclencheur d’interrogation : vérifie (ou interroge) périodiquement un service pour voir si un événement spécifique s’est produit.

    • Exemple : Un déclencheur SQL peut interroger un serveur SQL à intervalles réguliers pour vérifier s’il y a de nouveaux enregistrements ou des enregistrements mis à jour, ou toute autre modification répondant aux conditions spécifiées.

    • Comportement désactivation : Quand le flux est activé, tous les événements non traités ou en attente sont traités. Si vous ne souhaitez pas traiter les éléments en attente lorsque vous réactivez votre flux, supprimez puis recréez votre flux.

  • Déclencheur de webhook : écoute des événements spécifiques en temps réel. Lorsque l’événement se produit, le service envoie une notification à Power Automate pour démarrer le flux.

    • Exemple : un déclencheur Outlook écoute les e-mails entrants et déclenche le flux dès l’arrivée d’un nouvel e-mail. Dans ce cas, le déclencheur écoute le service Outlook et déclenche le flux immédiatement à la réception d’un e-mail.

    • Comportement désactivation de flux : Quand le flux est réactivé, il traite les nouveaux événements qui sont générés une fois le flux activé.

Déclencheurs d’interrogation

Une fois qu’un déclencheur d’interrogation est enregistré, il vérifie périodiquement le service toutes les X minutes pour récupérer les détails de tous les enregistrements/événements nouveaux ou modifiés en fonction des filtres appliqués au déclencheur. La fréquence de ces vérifications dépend de la licence de l’utilisateur et de l’horodatage du dernier sondage. Toutes les X minutes, il interroge à nouveau le service en fonction de cet horodatage.

Considérez ce scénario :

  • Un déclencheur est configuré pour s’activer lorsqu’un enregistrement SQL est créé et interroge le service SQL toutes les minutes (ou à l’intervalle spécifié). Le flux est destiné à récupérer des informations sur tous les enregistrements créés depuis la dernière interrogation.
  • Si de nouveaux enregistrements sont trouvés, le flux est déclenché. Si aucun nouvel enregistrement n’est trouvé, l’exécution est ignorée.
  • Lorsqu’un flux est arrêté (par exemple, le 13 septembre à 12 h 30), le déclencheur note cet horodatage.
  • Lorsque le flux est redémarré (par exemple, le 14 septembre à 13 h 30 heure du Pacifique), le déclencheur interroge le service pour tous les événements créés entre l’heure du dernier sondage (le 13 septembre à 12 h 30) et l’heure actuelle (le 14 septembre à 13 h 30).

Ce comportement garantit qu’aucune donnée n’est manquée, même si le flux est temporairement arrêté en raison d’erreurs ou d’une limitation.

À ne pas oublier :

  • La désactivation du flux n’annule pas l’enregistrement du déclencheur. Il ne fait que mettre en pause le sondage. Cette conception garantit que des données ne sont pas manquées lors du redémarrage du flux.
  • Pour réinitialiser complètement le comportement d’interrogation, vous devez créer une copie du flux. Cela réenregistre le déclencheur lorsque le flux est activé pour la première fois, et vous devez supprimer le flux existant pour éviter les conflits.

Déclencheurs de webhook

Les déclencheurs de webhook fonctionnent différemment des déclencheurs d’interrogation. Au lieu de vérifier périodiquement un service, les déclencheurs de webhook s’enregistrent auprès du service pour recevoir des notifications lorsque des événements spécifiques se produisent. Voici comment fonctionnent les déclencheurs de webhook :

  • Inscription : lorsqu’un déclencheur de webhook est créé, il s’inscrit auprès du service pour indiquer qu’il souhaite recevoir des notifications pour certains événements.
  • Les Notifications événement : webhooks sont de simples rappels HTTP permettant de fournir des notifications d’événements. Lorsque l’événement spécifié se produit, le service envoie une notification d’événement au déclencheur de webhook avec tous les détails de cet événement.
  • Activation de flux : Power Automate vous permet d’utiliser des webhooks comme déclencheurs. Lorsque le déclencheur de webhook reçoit la notification d’événement, il active le flux, qui effectue ensuite les actions spécifiées.

En savoir plus : Mon déclencheur se met en route pour d’anciens événements

Définir conditions de déclencheur

De nombreux Power Automate utilisateurs rencontrent le problème de l’exécution de leurs flux chaque fois qu’une nouvelle ligne est ajoutée ou qu’une ligne existante est modifiée dans la source de données. Cependant, il existe souvent des scénarios où vous souhaitez que le flux s’exécute uniquement lorsqu’une condition spécifique est remplie. Pour obtenir ce comportement, vous devez configurer correctement vos déclencheurs. En configurant les conditions appropriées pour vos déclencheurs, vous vous assurez que votre flux s’exécute uniquement lorsque cela est nécessaire, ce qui améliore l’efficacité et réduit les exécutions inutiles.

Prenons un scénario dans lequel tout utilisateur qui soumet une dépense supérieure à $100 doit obtenir l’approbation du responsable. Si les conditions de déclenchement ne sont pas spécifiées, le flux s’exécute pour chaque dépense soumise et l’auteur du flux doit spécifier des conditions supplémentaires pour filtrer les dépenses supérieures à $100. En implémentant des conditions de déclenchement, vous vous assurez que le flux se déclenche uniquement lorsque la dépense est supérieure à $100.

Dans l’exemple affichés, un flux est déclenché Lorsqu’une ligne est ajoutée, modifiée ou supprimée. Une condition vérifie si le montant est supérieur à 100 et démarre l’approbation si la condition est remplie. Ce flux est démarré chaque fois que des données de la table sont ajoutées, modifiées ou supprimées.

Capture d’écran d’un flux utilisant une condition au lieu d’une condition de déclenchement.

Dans cet exemple, le flux inclut une condition de déclenchement sur l’action Lorsqu’une ligne est ajoutée, modifiée ou supprimée qui vérifie si le montant est supérieur à 100 , puis démarre l’approbation. Ce flux démarre uniquement lorsque la valeur du champ Montant est supérieure à 100.

Capture d’écran d’un flux utilisant une condition de déclenchement.

Astuce

La propriété de filtre OData dans Power Automate est une fonctionnalité puissante qui vous permet de définir des conditions précises pour qu’un flux soit déclenché en fonction des modifications apportées Dataverse aux données. Vous pouvez spécifier une condition et les noms des colonnes sur lesquelles le flux peut se déclencher. Cette approche permet d’optimiser les performances des flux et de s’assurer que les flux s’exécutent uniquement lorsque cela est nécessaire.

Configurer le contrôle de simultanéité

Dans certains scénarios, votre flux peut interagir avec des sources de données dont le débit est limité. Dans ces cas, la configuration du contrôle de simultanéité du déclencheur peut aider à gérer plus efficacement l’exécution du flux.

Par défaut, un déclencheur de flux de cloud exécute autant d'instances que possible simultanément lorsque ses conditions sont remplies. Toutefois, vous pouvez modifier ce comportement en ajustant les paramètres de contrôle de concurrence, ce qui vous permet de limiter le nombre d’exécutions simultanées d’un minimum de 1 à 100. Toutes les autres exécutions sont automatiquement mises en file d’attente.

Pour utiliser le contrôle de la concurrence :

  • Ressources à débit limité: si votre automatisation dépend d’une ressource locale qui ne prend pas en charge les exécutions parallèles, la configuration du contrôle de simultanéité peut empêcher la surcharge de la ressource.

  • Prévention des conditions de course: la limitation de la simultanéité garantit qu’une seule instance du flux s’exécute à la fois et évite les conditions de concurrence où une lecture incorrecte peut se produire en raison d’exécutions parallèles.

Pour configurer le contrôle de simultanéité :

  1. Dans le Power Automate portail, ouvrez le flux que vous souhaitez configurer.
  2. Sélectionnez le déclencheur.
  3. Dans Paramètres , activez l’option Contrôle de concurrence.
  4. Spécifiez le nombre maximal d’exécutions simultanées que vous souhaitez autoriser. Vous pouvez définir le nombre entre 1 et 100.
  5. Enregistrez vos modifications pour appliquer les paramètres de contrôle de la simultanéité à votre flux.

Capture d’écran du paramètre du Contrôle concurrentiel du déclencheur.

Remarques importantes

  • Action irréversible : une fois appliqués, les paramètres de contrôle de la simultanéité ne peuvent pas être annulés. Pour supprimer le contrôle de simultanéité, vous devez créer un flux. Donc, agissez avec précaution.
  • Meilleures pratiques : il est préférable de conserver le contrôle de simultanéité à son paramètre par défaut. Si vous devez appliquer le contrôle de simultanéité, envisagez de le faire sur un flux avec le moins d’actions. Par exemple, vous pouvez organiser les actions qui nécessitent un tel contrôle dans un flux enfant dédié, en appliquant le contrôle uniquement au flux enfant.