Tutoriel : Créer des workflows qui traitent les e-mails avec Azure Logic Apps, Azure Functions et Stockage Azure
S’applique à : Azure Logic Apps (Consommation)
Ce tutoriel montre comment générer un exemple de flux de travail qui intègre Azure Functions et le Stockage Azure à l’aide d’Azure Logic Apps. Cet exemple crée spécifiquement un flux de travail d’application logique Consommation qui gère les e-mails entrants et les pièces jointes, analyse le contenu des e-mails avec Azure Functions, enregistre le contenu dans le Stockage Azure et envoie un e-mail pour passer en revue le contenu.
Lorsque vous avez terminé, votre flux de travail ressemble à l’exemple de haut niveau suivant :
Conseil
Pour en savoir plus, vous pouvez poser ces questions à Azure Copilot :
- Qu’est-ce qu’Azure Logic Apps ?
- Qu’est-ce que Azure Functions ?
- Qu’est-ce que le Stockage Azure ?
- Qu’est-ce que le flux de travail d’une application logique Consommation ?
Pour rechercher Azure Copilot, dans la barre d’outils du Portail Azure, sélectionnez Copilot.
Vous pouvez créer un flux de travail similaire avec une ressource d'application logique Standard où certaines opérations de connecteur, telles que Stockage Blob Azure, sont également disponibles en tant qu'opérations intégrées, basées sur le fournisseur de services. Cependant, l’expérience utilisateur et les étapes du tutoriel varient légèrement par rapport à la version Consommation.
Prérequis
Un compte et un abonnement Azure. Si vous n’avez pas encore d’abonnement, vous pouvez vous inscrire pour obtenir un compte Azure gratuitement.
Un compte e-mail d’un fournisseur d’e-mail pris en charge par Logic Apps, par exemple Office 365 Outlook, Outlook.com ou Gmail. Pour connaître les autres fournisseurs de messagerie pris en charge, consultez Connecteurs pour Azure Logic Apps.
Cet exemple utilise Office 365 Outlook avec un compte professionnel ou scolaire. Si vous utilisez un autre compte de courrier, les étapes générales sont identiques, mais l’expérience utilisateur peut être légèrement différente. Si vous utilisez Outlook.com, utilisez votre compte Microsoft personnel au lieu de vous connecter.
Remarque
Si vous souhaitez utiliser le connecteur Gmail, seuls les comptes professionnels G-Suite peuvent utiliser ce connecteur sans restriction dans les workflows d’application logique. Si vous disposez d’un compte de consommateur Gmail, vous pouvez utiliser ce connecteur uniquement avec certains services approuvés par Google, ou vous pouvez créer une application cliente Google pour servir lors de l’authentification avec votre connecteur Gmail. Pour plus d’informations, consultez Stratégies de confidentialité et de sécurité des données pour les connecteurs Google dans Azure Logic Apps.
Téléchargez et installez l’Explorateur Stockage Microsoft Azure gratuit. Cet outil vous permet de vérifier que votre conteneur de stockage est correctement configuré.
Si votre workflow doit communiquer via un pare-feu qui limite le trafic à destination d'adresses IP spécifiques, ce pare-feu doit à la fois autoriser l'accès aux adresses IP entrantes et sortantes utilisées par Azure Logic Apps dans la région Azure où se trouve votre ressource d'application logique. Si votre workflow utilise également des connecteurs managés, comme le connecteur Office 365 Outlook ou le connecteur SQL, ou qu'il utilise des connecteurs personnalisés, le pare-feu doit également autoriser l'accès pour toutes les adresses IP sortantes de connecteur managé dans la région Azure de votre application logique.
Configurer le stockage pour y enregistrer les pièces jointes
Les étapes suivantes permettent de configurer le Stockage Azure pour que vous puissiez stocker les e-mails et pièces jointes entrants en tant que blobs.
Dans le portail Azure connectez-vous avec les informations d’identification de votre compte Azure.
Suivez ces étapes pour créer un compte de stockage, sauf si vous en avez déjà un.
Sous l’onglet De base, fournissez les informations suivantes :
Propriété Obligatoire Value Description Abonnement Oui <Azure-subscription-name> Le nom de votre abonnement Azure.
Cet exemple utilise Paiement à l’utilisation.Groupe de ressources Oui <Azure-resource-group> Nom du groupe de ressources Azure utilisé pour organiser et gérer les ressources connexes.
Remarque : Un groupe de ressources existe dans une région spécifique. Même si les éléments de ce didacticiel ne sont pas forcément disponibles dans toutes les régions, essayez d’utiliser la même région dans la mesure du possible.
Cet exemple utilise LA-Tutorial-RG.Nom du compte de stockage Oui <Azure-storage-account-name> Nom de votre compte de stockage unique, qui doit comporter entre 3 et 24 caractères, et ne peut contenir que des lettres minuscules et des nombres.
Cet exemple utilise attachmentstorageacct.Région Oui <Azure-region> Région de données Azure de votre compte de stockage.
Cet exemple utilise la région USA Ouest.Service principal Non <Azure-storage-service> Type de stockage principal à utiliser dans votre compte de stockage. Veuillez consulter la rubrique Passer en revue les options de stockage des données dans Azure. Niveau de performance Oui - Standard
- PremiumCe paramètre spécifie les types de données pris en charge et les médias de stockage des données. Voir Vue d’ensemble des comptes de stockage.
Cet exemple utilise Standard.Redondance Oui - Stockage localement redondant
- Stockage géo-redondant (GRS)Ce paramètre permet de stocker plusieurs copies de vos données en tant que protection contre les événements planifiés et non planifiés. Pour plus d’informations, consultez Redondance de Stockage Azure.
Cet exemple utilise le stockage géo-redondant avec accès en lecture (GRS).Pour créer votre compte de stockage, vous pouvez également utiliser Azure PowerShell ou Azure CLI.
Quand vous êtes prêt, sélectionnez Vérifier + créer. Une fois qu’Azure a validé les informations relatives à votre ressource de compte de stockage, sélectionnez Créer.
Une fois qu’Azure a déployé votre compte de stockage, sélectionnez Accéder à la ressource. Ou bien, recherchez, puis sélectionnez votre compte de stockage en utilisant la zone de recherche Azure.
Obtenez la clé d’accès au compte de stockage en procédant comme suit :
Dans le menu du compte de stockage, sous Sécurité + réseau, sélectionnez Clés d’accès.
Copiez le nom de compte de stockage et la clé key1. Enregistrez ces valeurs à un emplacement sûr pour pouvoir les utiliser par la suite.
Pour obtenir la clé d’accès de votre compte de stockage, vous pouvez également utiliser Azure PowerShell ou Azure CLI.
Créez un conteneur de stockage d’objets blob pour vos pièces jointes.
Dans le menu du compte de stockage, sous Stockage de données, sélectionnez Conteneurs.
Dans la barre d’outils de la page Conteneurs, sélectionnez Conteneur.
Dans le volet Nouveau conteneur, indiquez les informations suivantes :
Propriété Valeur Description Nom attachments Nom du conteneur. Niveau d’accès anonyme Conteneur (accès en lecture anonyme pour les conteneurs et les objets blob) Sélectionnez Créer.
Après que vous avez terminé, la liste des conteneurs affiche le nouveau conteneur de stockage.
Pour créer un conteneur de stockage, vous pouvez également utiliser Azure PowerShell ou Azure CLI.
À présent, connectez l’Explorateur Stockage à votre compte de stockage.
Configurer l’Explorateur Stockage
Les étapes suivantes vous permettent de connecter l’Explorateur Stockage à votre compte de stockage pour confirmer que votre flux de travail enregistre correctement les pièces jointes en tant que blobs dans votre conteneur de stockage.
Lancez Microsoft Azure Storage Explorer. Connectez-vous à votre compte Azure.
Remarque
Si aucune invite n’apparaît, dans la barre d’activité de l’Explorateur Stockage, sélectionnez Gestion des comptes (icône de profil).
Dans la fenêtre Sélectionner l’environnement Azure, sélectionnez votre environnement Azure, puis sélectionnez Suivant.
Pour poursuivre cet exemple, nous sélectionnons l’environnement Azure global et multilocataire.
Dans la fenêtre de navigateur qui apparaît, connectez-vous avec votre compte Azure.
Revenez à l’Explorateur Stockage et à la fenêtre Gestion des comptes. Confirmez que le tenant et l’abonnement Microsoft Entra corrects sont sélectionnés.
Dans la barre d’activité de l’Explorateur Stockage, sélectionnez Ouvrir la boîte de dialogue Connexion.
Dans la fenêtre Sélectionner une ressource, sélectionnez Compte ou service de stockage.
Dans la fenêtre Sélectionner une méthode de connexion, sélectionnez Nom et clé de compte>Suivant.
Dans la fenêtre Se connecter au Stockage Azure, fournissez les informations suivantes :
Propriété Value Nom complet Nom convivial pour votre connexion Nom du compte Nom de votre compte de stockage Clé de compte Clé d’accès que vous avez enregistrée Pour Domaine de stockage, confirmez qu’Azure (core.windows.net) est sélectionné, puis sélectionnez Suivant.
Dans la fenêtre Résumé, confirmez vos informations de connexion, puis sélectionnez Se connecter.
L’Explorateur Stockage crée la connexion. Votre compte de stockage s’affiche dans la fenêtre Explorateur sous Émulateur et>comptes de stockage attachés.
Pour rechercher votre conteneur Stockage Blob, sous Comptes de stockage, développez votre compte de stockage, qui est attachmentstorageacct pour cet exemple. Sous Conteneurs de blobs où vous trouvez le conteneur pièces jointes, par exemple :
Ensuite, créez une application de fonction Azure et une fonction qui supprime le code HTML du contenu.
Créer une application de fonction
Les étapes suivantes créent une fonction Azure que votre flux de travail appelle pour supprimer le code HTML de l’e-mail entrant.
Avant de pouvoir créer une fonction, créez une application de fonction sélectionnant le plan Consommation, puis en procédant comme suit :
Sous l’onglet De base, fournissez les informations suivantes :
Propriété Obligatoire Value Description Abonnement Oui <Azure-subscription-name> Abonnement Azure que vous avez utilisé précédemment pour votre compte de stockage. Groupe de ressources Oui <nom-groupe-de-ressources-Azure> Groupe de ressources Azure que vous avez utilisé précédemment pour votre compte de stockage.
Pour cet exemple, sélectionnez LA-Tutorial-RG.Nom de l’application de fonction Oui <function-app-name> Nom de votre application de fonction, qui doit être unique dans les régions Azure et ne peut contenir que des lettres (ne respectant pas la casse), des nombres (0 à 9) et des traits d’union (-).
Cet exemple utilise déjà CleanTextFunctionApp. Ainsi, fournissez un autre nom, comme MyCleanTextFunctionApp-<votre_nom>Pile d’exécution Oui <langage de programmation> Runtime de votre langage de programmation de fonction préféré. Pour les fonctions C# et F#, sélectionnez .NET.
Cet exemple utilise .NET.
La modification dans le portail est disponible uniquement pour les langages suivants :
- JavaScript
- PowerShell
- TypeScript
- C# script
Vous devez développer localement toutes les fonctions de la bibliothèque de classes C#, ainsi que les fonctions Java et Python.Version Oui <numéro-de-version> Sélectionnez la version de votre runtime installé. Région Oui <Azure-region> Région que vous avez utilisée.
Cet exemple utilise la région USA Ouest.Système d’exploitation Oui <votre_système_exploitation> Un système d’exploitation est présélectionné pour vous en fonction de la sélection de votre pile d’exécution, mais vous pouvez sélectionner le système d’exploitation qui prend en charge votre langage de programmation de fonction favori. La modification sur le portail est prise en charge sur Windows uniquement.
Cet exemple sélectionne Windows.Sélectionnez Suivant : Stockage. Sous l’onglet Stockage, indiquez les informations suivantes :
Propriété Obligatoire Value Description Compte de stockage Oui <Azure-storage-account-name> Créez un compte de stockage que votre application de fonction devra utiliser. Un nom de compte de stockage doit comporter entre 3 et 24 caractères, et ne peut contenir que des lettres minuscules et des chiffres.
Cet exemple utilise cleantextfunctionstorageacct.
Remarque : Ce compte de stockage contient vos applications de fonctions et diffère du compte de stockage créé précédemment pour les pièces jointes d’e-mail. Vous pouvez également utiliser un compte existant qui doit répondre aux exigences relatives aux comptes de stockage.Lorsque vous avez terminé, sélectionnez Vérifier + créer. Après qu’Azure a validé les informations fournies, sélectionnez Créer.
Après fois qu’Azure a déployé la ressource d’application de fonction, sélectionnez Accéder à la ressource.
Créer une fonction pour supprimer le code HTML
Les étapes suivantes créent une fonction Azure qui supprime le code HTML dans chaque e-mail entrant à l’aide de l’exemple d’extrait de code. Cette fonction rend le contenu des e-mails plus net et plus facile à traiter. Vous pouvez appeler cette fonction depuis votre flux de travail.
Pour plus d'informations, consultez Créer votre première fonction à l’aide du portail Azure. Pour la création d’une fonction développée, vous pouvez également créer votre fonction localement.
Sur le Portail Azure, ouvrez votre application de fonction, si ce n’est pas déjà fait.
Pour exécuter votre fonction ultérieurement dans le Portail Azure, configurez votre application de fonction pour accepter explicitement les requêtes depuis le portail. Dans le menu de l’application de fonction, sous API, sélectionnez CORS. Sous Origines autorisées, entrez
https://portal.azure.com
, puis sélectionnez Enregistrer.Dans le menu de l’application de fonction, sélectionnez Vue d’ensemble. Dans l’onglet Fonctions, sélectionnez Créer.
Dans le volet Créer une fonction, sélectionnez Déclencheur HTTP : C#>Suivant.
Remarque
Si vous ne voyez pas la version C#, veillez à procéder comme suit :
Fournissez les informations suivantes pour votre fonction, puis sélectionnez Créer :
Paramètre Valeur Nom de la fonction RemoveHTMLFunction Niveau d’autorisation Fonction Dans l’onglet Code + Test, entrez l’exemple de code suivant, qui supprime le code HTML, puis retourne les résultats à l’appelant.
#r "Newtonsoft.Json" using System.Net; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Primitives; using Newtonsoft.Json; using System.Text.RegularExpressions; public static async Task<IActionResult> Run(HttpRequest req, ILogger log) { log.LogInformation("HttpWebhook triggered"); // Parse query parameter string emailBodyContent = await new StreamReader(req.Body).ReadToEndAsync(); // Replace HTML with other characters string updatedBody = Regex.Replace(emailBodyContent, "<.*?>", string.Empty); updatedBody = updatedBody.Replace("\\r\\n", " "); updatedBody = updatedBody.Replace(@" ", " "); // Return cleaned text return (ActionResult)new OkObjectResult(new {updatedBody}); }
Lorsque vous avez terminé, dans la barre d’outils Code + Test, sélectionnez Enregistrer, puis Test/Exécuter.
Dans le volet Test/Exécuter, dans l’onglet Entrée, dans la zone Corps, entrez l’exemple d’entrée suivant, puis sélectionnez Exécuter :
{"name": "<p><p>Testing my function</br></p></p>"}
La sortie de votre fonction ressemble au résultat suivant :
{"updatedBody": "{\"name\": \"Testing my function\"}"}
Une fois le bon fonctionnement de votre fonction confirmé, créez la ressource d’application logique et le flux de travail. Même si ce tutoriel montre comment créer une fonction qui supprime le code HTML des e-mails, Azure Logic Apps fournit également un connecteur HTML to Text (HTML à texte).
Créer une ressource d’application logique Consommation
Dans la zone de recherche du Portail Azure, entrez applications logiques, puis sélectionnez Applications logiques.
Dans la barre d’outils de la page Applications logiques, sélectionnez Ajouter.
La page Créer une application logique s’affiche et propose les options suivantes :
Planifier Description Consommation Crée une ressource d’application logique qui prend en charge un seul workflow s’exécutant dans Azure Logic Apps multilocataire et utilise le modèle Consommation pour la facturation. Standard Crée une ressource d’application logique qui prend en charge plusieurs workflows. Vous disposez des options suivantes :
- Plan de services de flux de travail : les flux de travail s’exécutent dans Azure Logic Apps à locataire unique et utilisent le modèle de facturation Standard.
- App Service Environment V3 : les flux de travail s’exécutent dans Azure Logic Apps à locataire unique et utilisent un plan App Service Environment pour la facturation.
- Hybride (préversion) : les workflows s’exécutent localement et dans plusieurs clouds à l’aide de KEDA (Kubernetes-based event-driven autoscaling). Pour plus d’informations, consultez Créer des workflows Standard pour un déploiement hybride.Dans la page Créer une Logic App, sélectionnez Consommation (multilocataire).
Sur l’onglet Informations de base, fournissez les informations suivantes sur votre ressource d’application logique :
Paramètre Obligatoire Value Description Abonnement Oui <Azure-subscription-name> Abonnement Azure que vous avez utilisé précédemment. Groupe de ressources Oui LA-Tutorial-RG Groupe de ressources Azure que vous avez utilisé précédemment. Nom de l’application logique Oui <logic-app-name> Nom de votre ressource d’application logique, qui doit être unique d’une région à l’autre et peut contenir uniquement des lettres, des chiffres, des traits d’union (-), des traits de soulignement (_), des parenthèses (()) et des points (.).
Cet exemple crée une ressource d’application logique nommée LA-ProcessAttachment. Un workflow et une application logique de consommation portent toujours le même nom.Région Oui USA Ouest Région que vous avez utilisée. Activer l’analytique des journaux Oui Aucun Changez cette option uniquement quand vous voulez activer la journalisation des diagnostics. Pour ce tutoriel, conservez la sélection par défaut.
Remarque : cette option est disponible uniquement avec les applications logiques Consommation.Remarque
Les zones de disponibilité sont automatiquement activées pour les nouveaux flux de travail d’application logique Consommation et ceux déjà existants, dans les régions Azure qui prennent en charge les zones de disponibilité. Pour plus d’informations, consultez Fiabilité dans Azure Fuctions et Protéger les applications logiques contre les défaillances de région avec la redondance de zone et les zones de disponibilité.
Quand vous êtes prêt, sélectionnez Vérifier + créer. Une fois qu’Azure a validé les informations relatives à votre ressource d’application logique, sélectionnez Créer.
Une fois qu’Azure a déployé votre ressource d’application logique, sélectionnez Accéder à la ressource. Ou bien, recherchez et sélectionnez votre ressource d’application logique en utilisant la zone de recherche Azure.
Ajouter un déclencheur pour surveiller les e-mails entrants
Les étapes suivantes permettent d’ajouter un déclencheur qui attend les e-mails entrants contenant des pièces jointes.
Dans le menu de l’application logique, sous Outils de développement, sélectionnez Concepteur d’application logique.
Dans le Concepteur de flux de travail, suivez ces étapes générales pour ajouter le déclencheur Office 365 Outlook nommé Lors de l’arrivée d’un nouvel e-mail.
Le connecteur Office 365 Outlook vous oblige à vous connecter avec un compte professionnel ou scolaire Microsoft. Si vous utilisez un compte Microsoft personnel, utilisez le connecteur Outlook.com.
Connectez-vous à votre compte e-mail pour créer une connexion entre votre flux de travail et votre compte e-mail.
Dans la zone d’informations du déclencheur, dans la liste des Paramètres avancés, ajoutez les paramètres suivants, s’ils n’apparaissent pas et fournissez les informations suivantes :
Paramètre active Description Importance N’importe lequel/laquelle Spécifie le niveau d’importance souhaité de l’e-mail. Avec pièces jointes uniquement Oui Récupère uniquement les e-mails comportant des pièces jointes.
Remarque : Le déclencheur ne supprime pas les e-mails de votre compte. Il vérifie uniquement les nouveaux messages et ne traite que les e-mails qui correspondent au filtre Objet.Inclure des pièces jointes Oui Récupérez les pièces jointes en tant qu’entrée de votre flux de travail au lieu de les rechercher simplement. Dossier Inbox Dossier d’e-mail à vérifier. Filtre Objet Business Analyst 2 #423501 Spécifie le texte à rechercher dans l’objet de l’e-mail. Une fois que vous avez terminé, le déclencheur ressemble à l’exemple suivant :
Enregistrez votre flux de travail. Dans la barre d’outils du Concepteur, sélectionnez Enregistrer.
Votre flux de travail est à présent actif, mais il vérifie uniquement vos e-mails. Ajoutez une condition qui spécifie les critères pour poursuivre les actions du workflow.
Ajouter une condition pour vérifier les pièces jointes
Les étapes suivantes ajoutent une condition qui sélectionne uniquement les e-mails contenant des pièces jointes.
Dans le concepteur de flux de travail, suivez ces étapes générales pour ajouter l’action Contrôle nommée Condition.
Dans le volet d’informations de l’action Condition, renommez l’action Si l’e-mail contient des pièces jointes et une expression d’objet clé.
Créez une condition qui vérifie les e-mails contenant des pièces jointes.
Sous l’onglet Paramètres, dans la première ligne sous la liste ET, sélectionnez à l’intérieur de la zone de gauche, puis sélectionnez la liste de contenu dynamique (icône éclair). Dans cette liste, dans la section déclencheur, sélectionnez la sortie Contient une pièce jointe.
Conseil
Si vous ne voyez pas la sortie Contient une pièce jointe, sélectionnez Voir plus.
Dans la zone du milieu, conservez l’opérateur nommé est égal à.
Dans la zone la plus à droite, entrez vrai, qui est la valeur à comparer avec la valeur de sortie Contient une pièce jointe provenant du déclencheur. Si les deux valeurs sont égales, l’e-mail comporte au moins une pièce jointe, la condition est transmise et le flux de travail se poursuit.
Dans votre définition de workflow sous-jacente, que vous pouvez afficher en sélectionnant Vue Code sur la barre d’outils du concepteur, la condition ressemble à l’exemple suivant :
"Condition": { "actions": { <actions-to-run-when-condition-passes> }, "expression": { "and": [ { "equals": [ "@triggerBody()?['HasAttachment']", "true" ] } ] }, "runAfter": {}, "type": "If" }
Enregistrez votre flux de travail.
Tester votre condition
Dans la barre d’outils du concepteur, sélectionnez Exécuter>Exécuter.
Cette étape démarre, puis exécute manuellement votre flux de travail, mais rien ne se produit tant que vous n’envoyez pas d’e-mail de test dans votre boîte de réception.
Envoyez-vous un e-mail qui respecte les critères suivants :
L’objet de votre e-mail contient le texte que vous avez spécifié dans le Filtre d’objet du déclencheur : Business Analyst 2 #423501
Votre e-mail comporte une pièce jointe. Pour le moment, créez simplement un fichier texte vide et joignez-le à votre e-mail.
Quand l’e-mail arrive, votre workflow recherche des pièces jointes et le texte de l’objet spécifié. Si la condition réussit, le déclencheur est activé et provoque l’instanciation et l’exécution d’une instance de workflow par Azure Logic Apps.
Pour vérifier que le déclencheur a été activé et que le workflow s’est exécuté avec succès, sélectionnez Vue d’ensemble dans le menu de l’application logique.
Pour afficher les workflows exécutés correctement, sélectionnez Historique des exécutions.
Pour afficher les déclencheurs activés correctement, sélectionnez Historique des déclencheurs.
Si le déclencheur n’a pas été activé ou si le workflow n’a pas été exécuté en dépit d’un déclencheur réussi, consultez Résoudre les problèmes de votre workflow d’application logique.
À présent, définissez les actions à entreprendre pour la branche True. Pour enregistrer l’e-mail ainsi que les pièces jointes, supprimez le code HTML dans le corps de l’e-mail, puis créez des objets blob dans le conteneur de stockage correspondant à l’e-mail et aux pièces jointes.
Notes
Votre workflow peut laisser la branche False vide et ne pas effectuer d’actions quand un e-mail n’a pas de pièces jointes. À titre d’exercice supplémentaire à l’issue de ce tutoriel, vous pouvez ajouter une action appropriée que vous souhaitez entreprendre pour la branche False.
Appeler la fonction RemoveHTMLFunction
Les étapes suivantes ajoutent votre fonction Azure créée précédemment, qui accepte le contenu du corps de l’e-mail depuis le déclencheur d»e-mail comme entrée.
Dans le menu de l’application logique, sous Outils de développement, sélectionnez Concepteur d’application logique. Dans la branche True, sélectionner Ajouter une action.
Suivez ces étapes générales pour ajouter l’action Azure Functions nommée Choisir une fonction Azure.
Sélectionnez votre application de fonction créée précédemment, CleanTextFunctionApp dans cet exemple.
Sélectionnez maintenant votre fonction, qui est nommée RemoveHTMLFunction dans cet exemple, puis sélectionnez Ajouter une action.
Dans le volet d’informations de l’action Azure Functions renommez l’action Appeler RemoveHTMLFunction.
Maintenant, spécifiez l’entrée pour votre fonction à traiter.
Pour Corps de la demande, entrez le texte suivant avec un espace de fin :
{ "emailBody":
Pendant que vous travaillez sur cette entrée dans les étapes suivantes, une erreur de JSON non valide s’affiche jusqu’à ce que votre entrée soit correctement formatée en JSON. Lorsque vous avez testé précédemment cette fonction, l’entrée spécifiée pour cette fonction utilisait JavaScript Objet Notation (JSON). Par conséquent, le corps de la requête doit également utiliser le même format.
Cliquez dans la zone Corps de la demande, puis sélectionnez la liste de contenu dynamique (icône d’éclair) pour pouvoir sélectionner les sorties des actions précédentes.
Dans la liste de contenu dynamique, sous À la réception d’un e-mail, sélectionnez la sortie Corps. Une fois cette valeur résolue dans la zone Corps de la demande, n’oubliez pas d’ajouter l’accolade fermante (}).
Quand vous avez terminé, la fonction Azure ressemble à l’exemple suivant :
Enregistrez votre flux de travail.
Ensuite, ajoutez une action qui crée un blob pour stocker le corps de l’e-mail.
Ajouter une action pour créer un blob pour le corps de l’e-mail
Les étapes suivantes créent un blob qui stocke le corps de l’e-mail dans votre conteneur de stockage.
Dans le concepteur, dans le bloc Vrai de la condition, sous votre fonction Azure, sélectionnez Ajouter une action.
Suivez ces étapes générales pour ajouter l’action Stockage Blob Azure nommée Créer un blob.
Fournissez les informations de connexion de votre compte de stockage, par exemple :
Paramètre Obligatoire Value Description Nom de connexion Oui <connection-name> Un nom descriptif pour la connexion.
Cet exemple utilise AttachmentStorageConnection.Type d’authentification Oui <authentication-type> Type d’authentification à utiliser pour la connexion.
Cet exemple utilise Clé d’accès.Point de terminaison de blob ou nom du compte de Stockage Azure Oui <storage-account-name> Nom de votre compte de stockage créé précédemment.
Cet exemple utilise attachmentstorageacct.Clé d’accès au compte de stockage Azure Oui <storage-account-access-key> Clé d’accès de votre compte de stockage créé précédemment. Lorsque vous avez terminé, sélectionnez Créer.
Dans le volet d’informations de l’action Créer un blob, renommez l’action Créer un blob pour le corps de l’e-mail.
Fournissez les informations d’action suivantes :
Conseil
Si vous ne trouvez pas de sortie spécifiée dans la liste de contenu dynamique, sélectionnez Voir plus en regard du nom de l’opération.
Paramètre Obligatoire Value Description Point de terminaison d’objet blob ou nom du compte de stockage Oui Utiliser les paramètres de connexion (<storage-account-name-or-blob-endpoint>) Sélectionnez l’option qui inclut le nom de votre compte de stockage.
Cet exemple utilisehttps://attachmentstorageacct.blob.core.windows.net
.Chemin d’accès du dossier Oui <chemin-et-nom-du-conteneur> Chemin d’accès et nom du conteneur que vous avez créé précédemment.
Pour cet exemple, sélectionnez l’icône de dossier, puis sélectionnez Pièces jointes.Nom du blob Oui <nom-expéditeur> Pour cet exemple, utilisez le nom de l’expéditeur comme nom du blob.
1. Cliquez à l’intérieur de la zone Nom du blob, puis sélectionnez l’option liste de contenu dynamique (icône éclair).
2. Dans la section À la réception d’un e-mail, sélectionnez De.Contenu du blob Oui <cleaned-email-body> Pour cet exemple, utilisez le corps de l’e-mail sans code HTML comme contenu d’objet blob.
1. Cliquez à l’intérieur de la zone Contenu du blob, puis sélectionnez l’option liste de contenu dynamique (icône éclair).
2. Dans la section Appeler RemoveHTMLFunction, sélectionnez Corps.La capture d’écran suivante montre les sorties à sélectionner pour l’action Créer un blob pour le corps de l’e-mail :
Quand vous avez terminé, l’action ressemble à l’exemple suivant :
Enregistrez votre flux de travail.
Tester le traitement des pièces jointes
Dans la barre d’outils du concepteur, sélectionnez Exécuter>Exécuter.
Cette étape démarre, puis exécute manuellement votre flux de travail, mais rien ne se produit tant que vous n’envoyez pas d’e-mail de test dans votre boîte de réception.
Envoyez-vous un e-mail qui respecte les critères suivants :
L’objet de votre e-mail contient le texte que vous avez spécifié dans le paramètre Filtre d’objet du déclencheur : Business Analyst 2 #423501
Votre e-mail contient une ou plusieurs pièces jointes. Pour le moment, créez simplement un fichier texte vide, puis joignez-le à votre e-mail.
Le corps de votre e-mail comporte du contenu de test, par exemple : Test de mon flux de travail d’application logique
Si votre workflow n’a pas été activé ni exécuté en dépit d’un déclencheur réussi, consultez Résoudre les problèmes et diagnostiquer les échecs de workflows d’application logique.
Vérifiez que votre workflow a enregistré l’e-mail dans le conteneur de stockage approprié.
Dans l’Explorateur Stockage, développez Émulateur et attaché>Comptes de stockage>attachmentstorageacct (Clé)>Conteneurs blob>pièces jointes.
Vérifiez le conteneur pièces jointes de l’e-mail.
À ce stade, seul l’e-mail s’affiche dans le conteneur, car le workflow n’a pas encore traité les pièces jointes.
Lorsque vous avez terminé, supprimez l’e-mail dans l’Explorateur Stockage.
Si vous le souhaitez, pour tester la branche False qui n’effectue aucune action pour le moment, vous pouvez envoyer un e-mail qui ne réponde pas aux critères.
Ensuite, ajoutez une boucle Pour chaque pour traiter chaque pièce jointe d’-mail.
Ajouter une boucle pour traiter les pièces jointes
Les étapes suivantes ajoutent une boucle pour traiter chaque pièce jointe dans l’e-mail.
Revenez au concepteur de workflow. Sous l’action Créer un objet blob pour le corps de l’e-mail, sélectionnez Ajouter une action.
Suivez ces étapes générales pour ajouter l’action Contrôle nommée Pour chaque.
Dans le volet d’informations de l’action Pour chaque, renommez l’action Pour chaque pièce jointe d’e-mail.
Sélectionnez maintenant le contenu de la boucle à traiter.
Dans la boucle Pour chaque pièce jointe d’e-mail, cliquez dans la zone Sélectionnez un résultat à partir des étapes précédentes, puis sélectionnez liste de contenu dynamique (icône éclair).
Dans la section À la réception d’un e-mail, sélectionnez Pièces jointes.
La sortie Pièces jointes inclut un tableau avec toutes les pièces jointes d’un e-mail. La boucle Pour chaque répète des actions sur chaque élément de tableau.
Conseil
Si vous ne voyez pas Pièces jointes, sélectionnez Voir plus.
Enregistrez votre flux de travail.
Ajoutez ensuite une action qui enregistre chaque pièce jointe sous la forme d’un blob dans votre conteneur de stockage pièces jointes.
Ajouter une action pour créer un blob par pièce jointe
Les étapes suivantes ajoutent une action pour créer un objet blob pour chaque pièce jointe.
Dans le concepteur, dans la boucle Pour chaque pièce jointe d’e-mail, sélectionnez Ajouter une action.
Suivez ces étapes générales pour ajouter l’action Stockage Blob Azure nommée Créer un blob.
Dans le volet d’informations de l’action Créer un blob, renommez l’action Créer un blob pour la pièce jointe de l’e-mail.
Fournissez les informations d’action suivantes :
Conseil
Si vous ne trouvez pas de sortie spécifiée dans la liste de contenu dynamique, sélectionnez Voir plus en regard du nom de l’opération.
Paramètre Obligatoire Value Description Point de terminaison d’objet blob ou nom du compte de stockage Oui Utiliser les paramètres de connexion (<storage-account-name-or-blob-endpoint>) Sélectionnez l’option qui inclut le nom de votre compte de stockage.
Cet exemple utilisehttps://attachmentstorageacct.blob.core.windows.net
.Chemin d’accès du dossier Oui <chemin-et-nom-du-conteneur> Chemin d’accès et nom du conteneur que vous avez créé précédemment.
Pour cet exemple, sélectionnez l’icône de dossier, puis sélectionnez Pièces jointes.Nom du blob Oui <nom-pièce-jointe> Pour cet exemple, utilisez le nom de la pièce jointe comme nom du blob.
1. Cliquez à l’intérieur de la zone Nom du blob, puis sélectionnez l’option liste de contenu dynamique (icône éclair).
2. Dans la section À la réception d’un e-mail, sélectionnez Nom.Contenu du blob Oui <email-content> Pour cet exemple, utilisez le contenu d’e-mail comme contenu d’objet blob.
1. Cliquez à l’intérieur de la zone Contenu du blob, puis sélectionnez l’option liste de contenu dynamique (icône éclair).
2. Dans la section À la réception d’un e-mail, sélectionnez Contenu.Remarque
Si vous sélectionnez une sortie qui contient un tableau, tel que le champ Contenu, qui est un tableau contenant des pièces jointes, le concepteur ajoute automatiquement une boucle Pour chaque autour de l’action qui référence ce champ. De cette façon, votre workflow peut effectuer cette action sur chaque élément du tableau. Pour supprimer la boucle, déplacez l’action qui fait référence à la sortie vers l’extérieur de la boucle, puis supprimez la boucle.
La capture d’écran suivante montre les sorties à sélectionner pour l’action Créer un blob pour la pièce jointe de l’e-mail :
Quand vous avez terminé, l’action ressemble à l’exemple suivant :
Enregistrez votre flux de travail.
Retester le traitement des pièces jointes
Dans la barre d’outils du concepteur, sélectionnez Exécuter>Exécuter.
Cette étape démarre, puis exécute manuellement votre flux de travail, mais rien ne se produit tant que vous n’envoyez pas d’e-mail de test dans votre boîte de réception.
Envoyez-vous un e-mail qui respecte les critères suivants :
L’objet de votre e-mail contient le texte que vous avez spécifié dans le paramètre Filtre d’objet du déclencheur : Business Analyst 2 #423501
Votre e-mail contient deux pièces jointes ou plus. Pour le moment, créez simplement deux fichiers texte vides et joignez-les à votre e-mail.
Si votre workflow n’a pas été activé ni exécuté en dépit d’un déclencheur réussi, consultez Résoudre les problèmes et diagnostiquer les échecs de workflows d’application logique.
Vérifiez que votre workflow a enregistré l’e-mail et les pièces jointes dans le conteneur de stockage approprié.
Dans l’Explorateur Stockage, développez Émulateur et attaché>Comptes de stockage>attachmentstorageacct (Clé)>Conteneurs blob>pièces jointes.
Dans le conteneur pièces de jointes, recherchez l’e-mail et les pièces jointes.
Lorsque vous avez terminé, supprimez l’e-mail et les pièces jointes dans l’Explorateur Stockage.
Ajoutez ensuite une action dans votre flux de travail qui envoie un e-mail pour vérifier les pièces jointes.
Ajouter une action pour envoyer un e-mail
Les étapes suivantes ajoutent une action afin que votre flux de travail envoie un e-mail pour vérifier les pièces jointes.
Revenez au concepteur de workflow. Dans la branche Vrai, sous la boucle Pour chaque pièce jointe d’e-mail, sélectionnez Ajouter une action.
Suivez ces étapes générales pour ajouter l’action Office 365 Outlook nommée Envoyer un e-mail.
Cet exemple se poursuit avec le connecteur Office 365 Outlook, qui fonctionne uniquement avec un compte professionnel ou scolaire Azure. Pour des comptes personnels Microsoft, sélectionnez le connecteur Outlook.com.
Si vous êtes invité à entrer vos informations d’identification, connectez-vous à votre compte e-mail afin qu’Azure Logic Apps puisse établir une connexion avec votre compte e-mail.
Dans le volet d’informations de l’action Envoyer un e-mail, renommez l’action Envoyer un e-mail pour révision.
Fournissez les informations d’action suivantes, puis sélectionnez les sorties à inclure dans l’e-mail :
Conseil
Si vous ne trouvez pas de sortie spécifiée dans la liste de contenu dynamique, sélectionnez Voir plus en regard du nom de l’opération.
Paramètre Obligatoire Value Description To Oui <recipient-email-address> À des fins de test, utilisez votre propre adresse e-mail. Objet Oui <email-subject> Objet de l’e-mail à inclure.
Cet exemple utilise ASAP – Vérifier le candidat au poste : et la sortie Objet du déclencheur.
1. Dans la zone Objet, entrez l’exemple de texte avec un espace de fin.
2. Cliquez à l’intérieur de la zone Objet, puis sélectionnez l’option liste de contenu dynamique (icône éclair).
3. Dans la liste, sous À la réception d’un e-mail, sélectionnez Objet.Corps Oui <email-body> Corps de l’e-mail à inclure.
L’exemple utilise Veuillez vérifier le nouveau candidat :, la sortie du déclencheur nommée De, la sortie Chemin de l’action Créer un blob et la sortie Corps de votre action Appeler RemoveHTMLFunction.
1. Dans la zone Corps, entrez l’exemple de texte Veuillez vérifier le nouveau candidat :.
2. Sur une nouvelle ligne, entrez l’exemple de texte, Nom du candidat :, puis ajoutez la sortie De du déclencheur.
3. Sur une nouvelle ligne, entrez l’exemple de texte, Emplacement du fichier d’application :, puis ajoutez la sortie Chemin depuis l’action Créer un blob pour le corps de l’e-mail.
4. Sur une nouvelle ligne, entrez l’exemple de texte, Contenu de l’e-mail de candidature :, puis ajoutez la sortie Corps de l’action Call RemoveHTMLFunction .Remarque
Si vous sélectionnez une sortie qui contient un tableau, tel que le champ Contenu, qui est un tableau contenant des pièces jointes, le concepteur ajoute automatiquement une boucle Pour chaque autour de l’action qui référence ce champ. De cette façon, votre workflow peut effectuer cette action sur chaque élément du tableau. Pour supprimer la boucle, déplacez l’action qui fait référence à la sortie vers l’extérieur de la boucle, puis supprimez la boucle.
La capture d’écran suivante montre l’exemple terminé de l’action Envoyer un e-mail :
Enregistrez votre flux de travail.
Votre flux de travail terminé est maintenant semblable à l'exemple suivant :
Tester votre workflow
Envoyez-vous un e-mail qui respecte les critères suivants :
L’objet de votre e-mail contient le texte que vous avez spécifié dans le paramètre Filtre d’objet du déclencheur : Business Analyst 2 #423501
Votre e-mail contient une ou plusieurs pièces jointes. Vous pouvez réutiliser un fichier texte vide de votre test précédent. Pour un scénario plus réaliste, joignez un fichier de CV.
Le corps de l’e-mail contient le texte suivant que vous pouvez copier et coller :
Name: Jamal Hartnett Street address: 12345 Anywhere Road City: Any Town State or Country: Any State Postal code: 00000 Email address: jamhartnett@outlook.com Phone number: 000-000-0000 Position: Business Analyst 2 #423501 Technical skills: Dynamics CRM, MySQL, Microsoft SQL Server, JavaScript, Perl, Power BI, Tableau, Microsoft Office: Excel, Visio, Word, PowerPoint, SharePoint, and Outlook Professional skills: Data, process, workflow, statistics, risk analysis, modeling; technical writing, expert communicator and presenter, logical and analytical thinker, team builder, mediator, negotiator, self-starter, self-managing Certifications: Six Sigma Green Belt, Lean Project Management Language skills: English, Mandarin, Spanish Education: Master of Business Administration
Exécutez votre workflow. En cas de réussite, votre workflow vous envoie un e-mail qui ressemble à l’exemple suivant :
Si vous ne recevez pas d’e-mail, vérifiez le dossier Courrier indésirable de votre messagerie. Sinon, si vous ne savez pas si votre workflow s’est correctement exécuté, consultez Dépanner votre workflow d’application logique.
Félicitations, vous avez créé, puis exécuté un flux de travail qui automatise les tâches entre différents services Azure et appelle un code personnalisé !
Nettoyer les ressources
Votre workflow poursuit son exécution jusqu’à ce que vous désactiviez ou supprimiez la ressource d’application logique. Quand vous n’en avez plus besoin, supprimez le groupe de ressources qui contient votre application logique et les ressources associées.
Dans la zone de recherche du portail Microsoft Azure, entrez groupes de ressources, puis sélectionnez Groupes de ressources.
Dans la liste des Groupes de ressources, sélectionnez le groupe de ressources pour ce tutoriel.
Dans le menu du groupe de ressources, sélectionnez Vue d’ensemble.
Dans la barre d’outils de la page Vue d’ensemble, sélectionnez Supprimer un groupe de ressources.
Dans le volet de confirmation, entrez le nom du groupe de ressources, puis sélectionnez Supprimer.
Étapes suivantes
Dans ce tutoriel, vous avez créé un workflow d’application logique qui traite et stocke les pièces jointes en intégrant des services Azure, tels que Stockage Azure et Azure Functions. À présent, découvrez d’autres connecteurs que vous pouvez utiliser pour créer des workflows d’application logique.