Créer des actions de commutation qui exécutent des actions de workflow en fonction de valeurs spécifiques dans Azure Logic Apps
S’applique à : Azure Logic Apps (Consommation)
Pour exécuter des actions spécifiques en fonction des valeurs d’objets, d’expressions ou de jetons, ajoutez une action de commutation. Cette structure évalue l’objet, l’expression ou le jeton, choisit le cas qui correspond au résultat et exécute des actions spécifiques à ce cas seulement. Lors de l’exécution de l’action de commutation, un seul cas doit correspondre au résultat.
Par exemple, supposez que vous souhaitiez une application logique qui prenne des étapes différentes selon l’option sélectionnée dans l’e-mail. Dans cet exemple, l’application logique vérifie le flux RSS d’un site web pour y rechercher un nouveau contenu. Si un nouvel élément s’affiche dans le flux RSS, l’application logique envoie un e-mail à un approbateur. Selon que l’approbateur sélectionne « Approuver » ou « Rejeter », l’application logique suit des étapes différentes.
Conseil
Comme dans tous les langages de programmation, les actions de commutation ne prennent en charge que les opérateurs d’égalité. Si vous avez besoin d’autres opérateurs de relation, par exemple « supérieur à », utilisez une action conditionnelle. Pour garantir un comportement d’exécution déterministe, les cas doivent contenir une valeur statique unique et non des jetons ou des expressions dynamiques.
Prérequis
Un abonnement Azure. Si vous n’avez pas encore d’abonnement, vous pouvez vous inscrire pour obtenir un compte Azure gratuitement.
Pour suivre l’exemple présenté dans cet article, créez l’exemple de workflow d’application logique Consommation avec un compte Outlook.com ou avec un compte professionnel ou scolaire.
Si vous ajoutez l’action permettant d’envoyer un e-mail, recherchez et sélectionnez plutôt cette action : Envoyer un e-mail d’approbation
Renseignez les champs obligatoires, tels que l’adresse e-mail de la personne qui reçoit l’e-mail d’approbation. Sous Options utilisateur, entrez « Approuver, Rejeter ».
Ajouter une action de commutation
Pour cet exemple, ajoutez une action de commutation à la fin de votre exemple de workflow. Après la dernière étape, choisissez Nouvelle étape.
Si vous souhaitez ajouter une action de commutation entre les étapes, placez le pointeur sur la flèche là où vous souhaitez l’ajouter. Cliquez sur le signe plus ( + ) qui s’affiche, puis choisissez Ajouter une action.
Dans la zone de recherche, entrez le filtre « switch ». Sélectionnez cette action : Switch - Contrôle
Une action de commutation s’affiche avec un cas et un cas par défaut. Par défaut, une action de commutation requiert au moins un cas plus le cas par défaut.
Cliquez dans la zone Activé pour afficher la liste du contenu dynamique. Dans cette liste, sélectionnez le champ SelectedOption dont la sortie détermine l’action à effectuer.
Pour gérer les cas dans lesquels l’approbateur sélectionne
Approve
ouReject
, ajoutez un autre cas entre Cas et Par défaut.Ajoutez ces actions aux cas correspondants :
N° de cas SelectedOption Action Cas 1 Approuver Ajoutez l’action Envoyer un e-mail Outlook pour envoyer des détails sur l’élément RSS uniquement si l’approbateur a sélectionné Approuver. Cas 2 Rejeter Ajoutez l’action Envoyer un e-mail Outlook pour informer les autres approbateurs que l’élément RSS a été rejeté. Default None Aucune action requise. Dans cet exemple, le cas Par défaut n’est pas renseigné, car SelectedOption possède uniquement deux options. Enregistrez votre application logique.
Pour tester manuellement cet exemple, choisissez Exécuter jusqu’à ce que l’application logique trouve un nouvel élément RSS et envoie un e-mail d’approbation. Sélectionnez Approuver pour observer les résultats.
Définition JSON
Maintenant que vous avez créé une application logique avec une action de commutation, examinons la définition de code générale derrière l’action de commutation.
"Switch": {
"type": "Switch",
"expression": "@body('Send_approval_email')?['SelectedOption']",
"cases": {
"Case": {
"actions": {
"Send_an_email": {}
},
"case" : "Approve"
},
"Case_2": {
"actions": {
"Send_an_email_2": {}
},
"case": "Reject"
}
},
"default": {
"actions": {}
},
"runAfter": {
"Send_approval_email": [
"Succeeded"
]
}
}
Étiquette | Description |
---|---|
"Switch" |
Nom de l’action de commutation que vous pouvez modifier pour plus de lisibilité. |
"type": "Switch" |
Indique que l’action est une action de commutation. |
"expression" |
Dans cet exemple, spécifie l’option sélectionnée par l’approbateur qui est confrontée à chacun des cas déclarés plus loin dans la définition. |
"cases" |
Définit un nombre quelconque de cas. Pour chaque cas, "Case_*" est le nom par défaut du cas donné, que vous pouvez modifier pour plus de lisibilité. |
"case" |
Spécifie la valeur du cas qui doit être une valeur unique et constante utilisée par l’action de commutation à titre de comparaison. Si aucun cas ne correspond au résultat de l’expression switch, les actions de la section "default" sont exécutées. |
Obtenir de l’aide
- Pour toute question, consultez la page de questions Microsoft Q&A pour Azure Logic Apps.
- Pour voter pour des fonctionnalités ou suggestions ou pour en soumettre, visitez le site de commentaires des utilisateurs Azure Logic Apps.
Étapes suivantes
- Exécuter des étapes en fonction d’une condition (action conditionnelle)
- Loops: Process arrays or repeat actions until a condition is met (Boucles : Traiter des tableaux ou répéter des actions jusqu’à ce qu’une condition soit remplie)
- Exécuter ou joindre des étapes (branches) parallèles
- Étendues : Exécuter des étapes en fonction de l’état d’un groupe