Partager via


Configurer des actions de commutateur pour exécuter différents chemins d’action en fonction de valeurs spécifiques dans les flux de travail pour Azure Logic Apps

S’applique à : Azure Logic Apps (Consommation + Standard)

Pour exécuter différents chemins d’action en fonction des valeurs d’objets, d’expressions ou de jetons, ajoutez une action de commutateur à votre flux de travail. Cette action évalue l’objet, l’expression ou le jeton, choisit le cas qui correspond au résultat et exécute le chemin d’accès d’action que vous définissez pour ce cas. Lors de l’exécution de l’action de commutation, un seul cas doit correspondre au résultat.

Par exemple, supposons que vous souhaitez un flux de travail qui exécute différents chemins d’action en fonction d’une option sélectionnée dans l’e-mail. Dans cet exemple, le flux de travail utilise un déclencheur RSS pour vérifier le flux RSS d’un site web pour le nouveau contenu. Lorsqu’un nouvel élément apparaît dans le flux RSS, le flux de travail envoie un e-mail à un approbateur. Selon que l’approbateur sélectionne Approuver ou Rejeter, le flux de travail exécute différentes actions.

Conseil

Les actions de « switch » prennent uniquement en charge les opérateurs d’égalité. Si vous avez besoin d’autres opérateurs relationnels, comme supérieur à, utilisez une action de condition. Pour garantir un comportement déterministe, les cas doivent contenir une valeur unique et statique au lieu de jetons ou d’expressions dynamiques.

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.

  • 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. Lorsque vous ajoutez l’action pour envoyer un e-mail, recherchez et sélectionnez cette action à la place : envoyez un e-mail d’approbation.

    2. Fournissez les informations suivantes :

      Paramètre Obligatoire Valeur Description
      À Oui < adresse e-mail de l'approbateur> Adresse e-mail de la personne qui prend la décision d’approbation. Pour tester l’exemple, utilisez votre propre adresse e-mail pour le test.
      Sujet Non < sujet de l'email> Objet de la demande d’approbation par e-mail.
      Options utilisateur Non Approuver, rejeter Bien que facultatif, conservez les valeurs par défaut pour cet exemple.

      Capture d’écran montrant l’action Envoyer un e-mail d’approbation avec des paramètres dans lesquels vous pouvez entrer des valeurs d’adresse et d’options utilisateur.

Ajouter une action de commutation

Pour modifier le chemin d’exécution du flux de travail en fonction des options sélectionnées dans l’e-mail d’approbation, ajoutez une action de commutateur à la fin de l’exemple de flux de travail.

  1. Dans le concepteur de flux de travail, suivez ces étapes générales pour ajouter l’action Contrôle nommée Commutateur à votre flux de travail.

    L’action Switch s’affiche avec un cas par défaut vide. Une action Switch nécessite au moins un cas plus le cas par défaut. Vous ajouterez plus tard d’autres cas.

    Capture d’écran d’une action Commutateur avec un cas par défaut vide.

  2. Si l’action Switch n’est pas sélectionnée afin que le volet d’informations soit ouvert, sélectionnez la barre de titre Switch .

  3. Sous l’onglet Paramètres , sélectionnez à l’intérieur de la zone Activé , puis sélectionnez l’icône éclair pour ouvrir la liste de contenu dynamique. Dans cette liste, sous Envoyer un e-mail d’approbation, sélectionnez le champ SelectedOption .

    Le champ SelectedOption stocke la valeur sélectionnée par l’approbateur et détermine le cas avec les actions à exécuter.

    Capture d’écran montrant la liste de contenu dynamique avec la valeur SelectedOption mise en surbrillance.

  4. Pour gérer les cas où l’approbateur sélectionne Approuver ou Rejeter, ajoutez un cas pour chaque option. En regard du cas par défaut , sélectionnez le signe plus (+), puis sélectionnez Ajouter un cas.

    Capture d’écran montrant l’action Switch avec deux cas ajoutés, ainsi que le cas par défaut.

  5. Ajoutez ces actions aux cas correspondants :

    N° de cas SelectedOption Action
    Cas 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.

    Capture d’écran montrant l’action Switch avec deux cas et le cas par défaut. Chaque cas ajouté contient une action Envoyer un e-mail à exécuter.

  6. Enregistrez votre flux de travail.

  7. Pour tester cet exemple, dans la barre d’outils du concepteur, sélectionnez Exécuter>jusqu’à ce que le déclencheur détecte un nouvel élément RSS et vous envoie un e-mail d’approbation. Sélectionnez Approuver pour observer les résultats.

Définition JSON

Maintenant que vous avez créé un flux de travail avec l’action Switch , passez en revue la définition de code JSON (JavaScript Object Notation) derrière cette action.

"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 par défaut de l’action Switch , que vous pouvez renommer pour mieux décrire l’objectif de l’action.
"type": "Switch" Spécifie le type d’action, qui est une Switch action.
"expression" Dans cet exemple, spécifie l’option sélectionnée de l’approbateur que l’action Switch évalue par rapport à chaque cas comme déclaré plus loin dans la définition.
"cases" Définit un nombre quelconque de cas. Pour chaque cas, "Case_*" est le nom par défaut de ce cas, que vous pouvez renommer pour mieux décrire l’objectif du cas.
"case" Spécifie la valeur du cas qui doit être une valeur unique et constante utilisée par l’action Switch à 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.