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.

    1. 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

      Select

    2. 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 ».

      Enter email details

Ajouter une action de commutation

  1. 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.

  2. Dans la zone de recherche, entrez le filtre « switch ». Sélectionnez cette action : Switch - Contrôle

    Add switch

    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.

    Empty default switch action

  3. 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.

    Select

  4. Pour gérer les cas dans lesquels l’approbateur sélectionne Approve ou Reject, ajoutez un autre cas entre Cas et Par défaut.

    Add another case

  5. 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.

    Finished switch action

  6. 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

Étapes suivantes