Tutoriel : Superviser les modifications d’une machine virtuelle avec Azure Event Grid et Azure Logic Apps

S’applique à : Azure Logic Apps (Consommation)

Vous pouvez surveiller et répondre à des événements spécifiques qui se produisent dans des ressources Azure ou des ressources externes à l’aide d’Azure Event Grid et d’Azure Logic Apps. Vous pouvez créer un Flux de travail d’application logique consommation automatisé avec un code minimal à l’aide de Azure Logic Apps. Vous pouvez faire en sorte que ces ressources publient des événements dans Azure Event Grid. À son tour, Azure Event Grid envoie ces événements aux abonnés qui possèdent des files d’attente, webhooks ou hubs d’événements comme points de terminaison. En tant qu’abonné, votre workflow attend que ces événements arrivent dans Azure Event Grid avant d’exécuter les étapes de traitement des événements.

Par exemple, voici certains événements que les éditeurs peuvent envoyer aux abonnés via Azure Event Grid :

  • Créer, lire, mettre à jour ou supprimer une ressource. Par exemple, vous pouvez surveiller les modifications susceptibles d’être facturées sur votre abonnement Azure.

  • Ajouter ou retirer une personne d’un abonnement Azure.

  • Votre application effectue une action particulière.

  • Un nouveau message apparaît dans une file d’attente.

Ce tutoriel crée une ressource d’application logique Consommation qui s’exécute dans Azure Logic Apps multilocataire et qui est basée sur le modèle tarifaire Consommation. Avec cette ressource d’application logique, vous créez un workflow qui supervise les modifications apportées à une machine virtuelle et envoie des e-mails sur ces modifications. Si vous créez un flux de travail qui a un abonnement aux événements auprès d’une ressource Azure, ces événements sont transférés de cette ressource vers le flux de travail par le biais d’Azure Event Grid.

Screenshot showing the workflow designer with a workflow that monitors a virtual machine using Azure Event Grid.

Dans ce tutoriel, vous allez apprendre à :

  • Créer une ressource d’application logique et un flux de travail qui supervise les événements d’Azure Event Grid.
  • ajouter une condition qui recherche spécifiquement les modifications apportées à la machine virtuelle ;
  • envoyer un e-mail en cas de modification de la machine virtuelle.

Prérequis

Créer la ressource d’application logique

  1. Connectez-vous au portail Azure avec votre compte Azure.

  2. Sur la page d’accueil Azure, sélectionnez Créer une ressource>Intégration>Application logique.

    Screenshot of Azure portal, showing button to create a logic app resource.

  3. Sous Créer une application logique, fournissez des informations sur votre ressource d’application logique :

    Screenshot of logic apps creation menu, showing details like name, subscription, resource group, and location.

    Propriété Obligatoire Value Description
    Abonnement Oui <Azure-subscription-name> Sélectionnez le même abonnement Azure pour tous les services de ce tutoriel.
    Groupe de ressources Oui <Azure-resource-group> Nom du groupe de ressources Azure pour votre application logique, que vous pouvez sélectionner pour tous les services de ce tutoriel.
    Nom de l’application logique Oui <logic-app-name> Fournissez un nom unique pour votre application logique.
    Publier Oui Workflow Sélectionnez la destination de déploiement de votre application logique. Pour ce tutoriel, veillez à sélectionner Workflow, qui se déploie sur Azure.
    Région Oui <Azure-region> Sélectionnez la même région pour tous les services de ce didacticiel.
    Type de plan Oui Consommation Type de ressource pour votre application logique. Pour ce tutoriel, veillez à sélectionner Consommation.

    Remarque

    Si, par la suite, vous souhaitez utiliser les opérations Azure Event Grid avec une ressource d’application logique standard, veillez à créer un flux de travail avec état, et non un flux de travail sans état. Ce tutoriel s’applique uniquement aux applications logiques Consommation, qui suivent une expérience utilisateur différente. Pour ajouter des opérations Azure Event Grid à votre workflow dans le concepteur, veillez à sélectionner l’onglet Azure dans le volet du sélecteur d’opérations. Pour plus d’informations sur Azure Logic Apps multilocataire et Azure Logic Apps monolocataire, passez en revue Architecture monolocataire ou multilocataire et environnement de service d’intégration.

  4. Quand vous avez terminé, sélectionnez Vérifier + créer. Dans le volet suivant, confirmez les informations fournies, puis sélectionnez Créer.

  5. Une fois qu’Azure a déployé votre application logique, sélectionnez Accéder à la ressource.

    Le concepteur de workflow affiche une page contenant une vidéo de présentation et les déclencheurs couramment utilisés.

  6. Faites défiler la fenêtre vidéo et la section des déclencheurs couramment utilisés.

  7. Sous Modèles, sélectionnez Application logique vide.

    Notes

    La galerie de modèles de flux de travail est disponible uniquement pour les applications logiques Consommation, et non pour les applications logiques standard.

    Screenshot showing Azure Logic Apps templates with selected

    Le concepteur de workflow affiche ensuite les déclencheurs que vous pouvez utiliser pour démarrer votre application logique. Chaque flux de travail doit démarrer avec un déclencheur, qui s’active lorsqu’un événement spécifique se produit ou qu’une condition particulière est remplie. Chaque fois que le déclencheur est activé, Azure Logic Apps crée une instance de workflow qui exécute votre application logique.

Ajouter un déclencheur Azure Event Grid

Maintenant, ajoutez le déclencheur Azure Event Grid qui permet de superviser le groupe de ressources de votre machine virtuelle.

  1. Dans la zone de recherche du concepteur, entrez event grid. Dans la liste des déclencheurs, sélectionnez le déclencheur Quand un événement de ressource se produit.

    Screenshot that shows the workflow designer with the selected Azure Event Grid trigger.

  2. Lorsque vous y êtes invité, connectez-vous à Azure Event Grid avec les informations d’identification de votre compte Azure. Dans la liste Locataire, qui indique le locataire Microsoft Entra associé à votre abonnement Azure, vérifiez que le locataire approprié s’affiche, par exemple :

    Screenshot that shows the workflow designer with the Azure sign-in prompt to connect to Azure Event Grid.

    Remarque

    Si vous êtes connecté avec un compte Microsoft personnel, par exemple @outlook.com ou @hotmail.com, le déclencheur Azure Event Grid risque de ne pas apparaître correctement. Il existe une solution de contournement qui consiste à sélectionner Se connecter avec le principal de service ou à s’authentifier en tant que membre de l’instance Microsoft Entra associée à l’abonnement Azure, par exemple nom-utilisateur@emailoutlook.onmicrosoft.com.

  3. Maintenant, abonnez votre application logique aux événements de l’éditeur. Renseignez les détails de votre abonnement aux événements, comme décrit dans le tableau suivant, par exemple :

    Screenshot that shows the workflow designer with the trigger details editor open.

    Propriété Obligatoire Value Description
    Abonnement Oui <event-publisher-Azure-subscription-name> Sélectionnez le nom de l’abonnement Azure associé à l’éditeur d’événements. Dans le cadre de ce tutoriel, sélectionnez le nom d’abonnement Azure de votre machine virtuelle.
    Type de ressource Oui <event-publisher-Azure-resource-type> Sélectionnez le type de ressource Azure pour l’éditeur d’événements. Pour plus d’informations sur les types de ressources Azure, consultez Fournisseurs et types de ressources Azure. Pour ce tutoriel, sélectionnez la valeur Microsoft.Resources.ResourceGroups pour superviser les groupes de ressources Azure.
    Nom de la ressource Oui <event-publisher-Azure-resource-name> Sélectionnez le nom de la ressource Azure pour l’éditeur d’événements. Cette liste varie en fonction du type de ressource que vous avez sélectionné. Pour ce tutoriel, sélectionnez le nom du groupe de ressources Azure qui contient votre machine virtuelle.
    Élément de type d’événement Non <event-types> Sélectionnez un ou plusieurs types d’événements spécifiques à filtrer et envoyer à Azure Event Grid. Par exemple, vous pouvez ajouter ces types d’événements pour détecter le moment où des ressources sont modifiées ou supprimées :

    - Microsoft.Resources.ResourceActionSuccess
    - Microsoft.Resources.ResourceDeleteSuccess
    - Microsoft.Resources.ResourceWriteSuccess

    Pour plus d’informations, consultez les rubriques suivantes :

    - Schéma d’événements Azure Event Grid pour les groupes de ressources
    - Comprendre le filtrage des événements
    - Filtrer des événements pour Azure Event Grid

    Pour ajouter des propriétés facultatives, sélectionnez Ajouter un nouveau paramètre, puis les propriétés souhaitées. Non {voir les descriptions} * Filtre de préfixe : Pour ce tutoriel, laissez cette propriété vide. Le comportement par défaut s’applique à toutes les valeurs. Vous pouvez cependant spécifier une chaîne de préfixe en tant que filtre, par exemple, un chemin d’accès et un paramètre pour une ressource spécifique.

    * Filtre de suffixe : Pour ce tutoriel, laissez cette propriété vide. Le comportement par défaut s’applique à toutes les valeurs. Vous pouvez cependant spécifier une chaîne de suffixe en tant que filtre, par exemple, une extension de nom de fichier, si vous ne souhaitez utiliser que des types de fichiers spécifiques.

    * Nom d’abonnement : Pour ce tutoriel, vous pouvez indiquer un nom unique pour votre abonnement aux événements.

  4. Enregistrez votre workflow d’application logique. Dans la barre d’outils du Concepteur, sélectionnez Enregistrer. Pour réduire et masquer les détails d’une action dans votre flux de travail, sélectionnez la barre de titre de l’action.

    Screenshot that shows the workflow designer and the

    Lorsque vous enregistrez votre application logique avec un déclencheur Azure Event Grid, Azure crée automatiquement un abonnement aux événements de votre application logique pour la ressource que vous avez sélectionnée. Par conséquent, lorsque la ressource publie un événement dans la service Azure Event Grid, ce service transmet automatiquement l’événement à votre application logique. Cet événement déclenche et exécute le flux de travail d’application logique défini dans les étapes suivantes.

Votre application logique est désormais en ligne ; elle écoute les événements d’Azure Event Grid, mais ne fait rien tant que vous n’avez pas ajouté d’actions au flux de travail.

Ajouter une condition

Si vous souhaitez que votre flux de travail d’application logique s’exécute uniquement quand un événement ou une opération spécifique se produit, ajoutez une condition qui recherche l’opération Microsoft.Compute/virtualMachines/write. Lorsque cette condition est true, votre flux de travail d’application logique vous envoie par e-mail, avec des informations sur la machine virtuelle mise à jour.

  1. Dans le concepteur de flux de travail, sous le déclencheur Azure Event Grid, sélectionnez Nouvelle étape.

    Screenshot that shows the workflow designer with

  2. Sous Choisir une action, dans la zone de recherche, entrez condition en guise de filtre. Dans la liste des actions, sélectionnez l’action Condition.

    Screenshot that shows the workflow designer with

    Le concepteur de flux de travail ajoute une condition vide à votre flux de travail, y compris les chemins d’accès des actions à suivre selon que la condition est true ou false.

    Screenshot that shows the workflow designer with an empty condition added to the workflow.

  3. Renommez le titre de la condition comme suit : If a virtual machine in your resource group has changed. Dans la barre de titre de la condition, sélectionnez le bouton représentant des points de suspension ( ... ), puis Renommer.

    Screenshot that shows the workflow designer with the condition editor's context menu and

  4. Créez une condition qui vérifie dans l’événement body un objet data dont la propriété operationName correspond à l’opération Microsoft.Compute/virtualMachines/write. En savoir plus sur le schéma d’un événement Azure Event Grid.

    1. Sur la première ligne, sous et, cliquez à l’intérieur de la zone de gauche. Dans la liste de contenu dynamique qui s’affiche, sélectionnez Expression.

      Screenshot that shows the workflow designer with the condition action and dynamic content list open with

    2. Dans l’éditeur d’expressions, entrez cette expression, qui retourne le nom de l’opération à partir du déclencheur, puis sélectionnez OK :

      triggerBody()?['data']['operationName']

      Par exemple :

      Screenshot showing workflow designer and condition editor with expression to extract the operation name.

    3. Dans la zone du milieu, conservez l’opérateur est égal à.

    4. Dans la zone de droite, entrez l’opération que vous souhaitez superviser, qui est la valeur suivante pour cet exemple :

      Microsoft.Compute/virtualMachines/write

    Votre condition terminée ressemble maintenant à l’exemple suivant :

    Screenshot that shows the workflow designer with a condition that compares the operation.

    Si vous passez du mode Création au mode Code puis à nouveau au mode Création, l’expression que vous avez spécifiée dans la condition est résolue en jeton data.operationName :

    Screenshot that shows the workflow designer with a condition that has resolved tokens.

  5. Enregistrez votre application logique.

Envoyer des notifications par e-mail

Ajoutez maintenant une action pour pouvoir recevoir un e-mail quand la condition spécifiée a la valeur true.

  1. Dans la zone Si true de la condition, sélectionnez Ajouter une action.

    Screenshot that shows the workflow designer with the condition's

  2. Sous Choisir une action, dans la zone de recherche, entrez send an email en guise de filtre. Selon votre fournisseur de messagerie, recherchez et sélectionnez le connecteur correspondant. Puis sélectionnez l’action « Envoyer un courrier électronique » pour votre connecteur. Par exemple :

    • Pour un compte professionnel ou scolaire Azure, sélectionnez le connecteur Outlook Office 365.

    • Pour des comptes personnels Microsoft, sélectionnez le connecteur Outlook.com.

    • Pour des comptes Gmail, sélectionnez le connecteur Gmail.

    Ce tutoriel continue d’utiliser le connecteur Outlook Office 365. Si vous utilisez un autre fournisseur, les étapes restent les mêmes, mais votre interface utilisateur peut s’afficher un peu différemment.

    Screenshot that shows the workflow designer with the search box open to find the

  3. Si vous ne disposez pas déjà d’une connexion pour votre fournisseur de messagerie, connectez-vous à votre compte de messagerie lorsque vous êtes invité vous identifier.

  4. Renommez le titre de l’action Envoyer un e-mail comme suit : Send email when virtual machine updated

  5. Fournissez des informations sur l’e-mail comme l’indique le tableau suivant :

    Screenshot that shows the workflow designer with dynamic content being addded to email subject line for a true condition.

    Conseil

    Pour sélectionner une sortie à partir des étapes précédentes de votre workflow, cliquez dans une zone d’édition afin d’ouvrir la liste de contenu dynamique ou sélectionnez Ajouter du contenu dynamique. Pour voir davantage de résultats, sélectionnez Plus pour chaque section de la liste. Pour fermer la liste de contenu dynamique, sélectionnez de nouveau Ajouter du contenu dynamique.

    Propriété Obligatoire Value Description
    To Oui <destinataire@domaine> Entrez l’adresse e-mail du destinataire. À des fins de test, vous pouvez utiliser votre propre adresse e-mail.
    Subject Oui Resource updated:Subject Entrez le contenu de l’objet de l’e-mail. Dans le cadre de ce tutoriel, entrez le texte spécifié et sélectionnez le champ Subject de l’événement. Ici, l’objet de votre e-mail comprend le nom de la ressource mise à jour (machine virtuelle).
    Corps Oui Resource:Rubrique

    Event type:Type d’événement

    Event ID:ID

    Time:Heure de l’événement

    Entrez le contenu du corps de l’e-mail. Dans le cadre de ce tutoriel, entrez le texte spécifié et sélectionnez les champs Topic, Event Type, ID et Event Time de l’événement de façon à inclure dans votre e-mail la ressource qui a déclenché l’événement, le type d’événement, son horodatage et son ID pour la mise à jour. Pour ce tutoriel, la ressource est le groupe de ressources Azure sélectionné dans le déclencheur.

    Pour ajouter des lignes vides à votre contenu, appuyez sur Maj + Entrée.

    Notes

    Si vous sélectionnez un champ qui représente un tableau, le concepteur ajoute automatiquement une boucle For each autour de l’action qui référence ce tableau. De cette façon, votre flux de travail d’application logique effectue cette action sur chaque élément du tableau.

    Votre action d’e-mail peut maintenant se présenter ainsi :

    Screenshot that shows the workflow designer with selected outputs to send in email when VM is updated.

    Et votre flux de travail d’application logique terminée peut se présenter ainsi :

    Screenshot showing designer with complete workflow and details for trigger and actions.

  6. Enregistrez votre application logique. Pour réduire et masquer les détails de chaque action dans votre application logique, sélectionnez la barre de titre de l’action.

    Votre application logique est désormais en ligne, mais elle attend que votre machine virtuelle soit modifiée avant de faire quoi que ce soit. Pour tester maintenant votre flux de travail, passez à la section suivante.

Tester le flux de travail d’une application logique

  1. Pour vérifier que votre flux de travail reçoit des événements spécifiés, mettez à jour votre machine virtuelle.

    Par exemple, vous pouvez redimensionner votre machine virtuelle.

    Après quelques instants, vous devriez recevoir un courrier électronique. Par exemple :

    Screenshot of example Outlook email, showing details about VM update.

  2. Pour consulter l’historique des exécutions et des déclenchements de votre application logique, sélectionnez Vue d’ensemble dans le menu de votre application logique. Pour afficher plus de détails sur une exécution, sélectionnez la ligne correspondante.

    Screenshot of logic app's overview page, showing a successful run selected.

  3. Pour afficher les entrées et les sorties de chaque étape, développez celle que vous souhaitez vérifier. Ces informations peuvent vous aider à diagnostiquer et déboguer les problèmes de votre application logique.

    Screenshot of logic app's runs history, showing details for each run.

Félicitations, vous avez créé et exécuté un flux de travail d’application logique qui surveille les événements liés aux ressources grâce à Azure Event Grid et vous envoie un e-mail lorsque ces événements se produisent. Vous avez également appris comment créer facilement des flux de travaux qui automatisent les processus et intégrer des systèmes et des services cloud.

Vous pouvez surveiller les autres modifications de configuration avec des grilles d’événements et des applications logiques. Par exemple :

  • Une machine virtuelle se voit attribuer des droits de contrôle d’accès en fonction du rôle Azure (Azure RBAC).
  • Des modifications sont apportées à un groupe de sécurité réseau (NSG) sur une carte d’interface réseau (NIC).
  • Des disques d’une machine virtuelle ont été ajoutés ou supprimés.
  • Une adresse IP publique est affectée à la carte d’interface réseau (NIC) d’une machine virtuelle.

Nettoyer les ressources

Ce didacticiel utilise des ressources et effectue des actions qui peuvent entraîner des frais sur votre abonnement Azure. Par conséquent, lorsque vous aurez terminé de suivre ce didacticiel et d’effectuer les tests, veillez à désactiver ou à supprimer les ressources pour lesquelles vous ne souhaitez pas être facturé.

  • Pour arrêter l’exécution de votre flux de travail sans supprimer votre travail, désactivez votre application. Dans le menu de votre application logique, sélectionnez Vue d’ensemble. Dans la barre d’outils, sélectionnez Désactiver.

    Screenshot of logic app's overview, showing Disable button selected to disable the logic app.

    Conseil

    Si vous ne voyez pas le menu de l’application logique, essayez de revenir au tableau de bord Azure et de rouvrir votre application logique.

  • Pour supprimer définitivement votre application logique, sélectionnez Vue d’ensemble dans le menu de l’application logique. Dans la barre d’outils, sélectionnez Supprimer. Confirmez que vous souhaitez supprimer votre application logique, puis sélectionnez Supprimer.

Étapes suivantes

Consultez les exemples suivants pour en savoir plus sur la publication d’événements sur Azure Event Grid et leur consommation avec différents langages de programmation.