Créer ou joindre des branches parallèles pour avec des actions de flux de travail dans Azure Logic Apps

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

Par défaut, vos actions dans un flux de travail d’application logique s’exécutent de manière séquentielle. Pour organiser des actions en branches distinctes et exécuter ces branches en même temps, vous pouvez créer des branches parallèles, puis joindre ces branches ultérieurement dans votre flux de travail.

Ce guide montre comment créer des branches parallèles dans un flux de travail et rejoindre ces branches, comme illustré dans ce diagramme de haut niveau :

Screenshot shows high-level conceptual diagram with parallel branches that later join in workflow.

Conseil

Si votre déclencheur de flux de travail reçoit un tableau et que vous souhaitez exécuter une instance d’instance de flux de travail pour chaque élément du tableau, au lieu de créer des branches parallèles, vous pouvez décomposer ce tableau à la place, à l’aide de la propriété de déclencheur SplitOn.

Prérequis

  • Un abonnement Azure. Si vous n’avez pas encore d’abonnement, vous pouvez vous inscrire pour obtenir un compte Azure gratuitement.

  • Un flux de travail d’application logique qui commence par un déclencheur et les actions souhaitées. Assurez-vous que votre flux de travail inclut les actions entre lesquelles vous souhaitez ajouter une branche parallèle.

Considérations relatives à l’utilisation de branches parallèles

  • Une branche parallèle s’exécute uniquement lorsque sa valeur de propriété runAfter correspond à l’état terminé de l’action parente. Par exemple, les branches commençant par branchAction1 et branchAction2 s’exécutent uniquement lorsque parentAction se termine avec l’état Réussi.

  • Votre flux de travail attend que toutes les branches parallèles se terminent au même niveau avant d’exécuter l’action qui joint ces branches.

Ajouter une action de branche parallèle

  1. Sur le portail Azure, ouvrez votre application logique Standard et votre workflow dans le concepteur.

  2. Entre les actions où vous souhaitez ajouter une branche parallèle, déplacez votre pointeur sur la flèche de connexion.

  3. Cliquez sur le signe plus (+) qui s’affiche, puis sélectionnez Ajouter une branche parallèle.

    Screenshot shows Standard workflow with selected plus sign and selected option, Add a parallel branch.

  4. À présent, ajoutez l’action que vous souhaitez exécuter dans la branche parallèle. Dans le volet Ajouter une action et la zone de recherche, recherchez et sélectionnez l’action souhaitée.

    Screenshot shows Standard workflow with search box named Choose an operation.

    Maintenant, l’action sélectionnée s’affiche dans la branche parallèle, par exemple :

    Screenshot shows Standard workflow, parallel branch, and previously selected action.

  5. Pour ajouter une autre action à la branche parallèle, sous l’action où vous souhaitez ajouter une nouvelle action, sélectionnez le signe plus (+), puis sélectionnez Ajouter une action.

    Screenshot shows Standard workflow and how to add another action to the same parallel branch.

  6. Dans la zone de recherche Choisir une opération, recherchez et sélectionnez l’action souhaitée.

    Maintenant, votre action sélectionnée s’affiche dans la branche actuelle, par exemple :

    Screenshot shows Standard workflow with added sequential action.

Pour fusionner à nouveau des branches, joignez vos branches parallèles.

Définition de branche parallèle (JSON)

Si vous travaillez en mode Code, vous pouvez définir la structure parallèle dans la définition JSON de votre flux de travail d’application logique à la place, par exemple :

{
  "triggers": {
    "myTrigger": {}
  },
  "actions": {
    "parentAction": {
      "type": "<action-type>",
      "inputs": {},
      "runAfter": {}
    },
    "branchAction1": {
      "type": "<action-type>",
      "inputs": {},
      "runAfter": {
        "parentAction": [
          "Succeeded"
        ]
      }
    },
    "branchAction2": {
      "type": "<action-type>",
      "inputs": {},
      "runAfter": {
        "parentAction": [
          "Succeeded"
        ]
      }
    }
  },
  "outputs": {}
}

Joindre des branches parallèles

Pour fusionner des branches parallèles, sous toutes les branches, ajoutez simplement une autre action. Cette action s’exécute uniquement après l’exécution de toutes les branches parallèles précédentes.

  1. Dans le portail Microsoft Azure, ouvrez votre application logique Standard et votre flux de travail avec les branches parallèles que vous souhaitez joindre au concepteur.

  2. Sous l’une des branches parallèles que vous souhaitez joindre, sélectionnez le signe plus (+), puis sélectionnezAjouter une action.

    Screenshot shows Standard workflow with selected plus sign.

  3. Dans le volet Ajouter une action et la zone de recherche, recherchez et sélectionnez l’action que vous souhaitez utiliser pour joindre les branches.

    Screenshot shows Standard workflow, search box named Choose an operation, and available actions for joining parallel branches.

  4. Dans le concepteur, sélectionnez l’action précédemment ajoutée. Une fois que le volet d’informations de l’action s’est ouvert, sélectionnez Paramètres.

  5. Dans le volet Paramètres, sous Exécuter après, ouvrez la liste Sélectionner des actions, puis sélectionnez la dernière action dans chaque branche qui doit se terminer avant l’exécution de l’action de jointure.

    Vous spécifiez en fait que l’action de jointure s’exécute uniquement après l’exécution de toutes les actions sélectionnées.

    Screenshot shows Standard workflow, the action that joins preceding parallel branches, and selected actions to first finish running.

    Lorsque vous avez terminé, l’action sélectionnée apparaît maintenant sous les branches parallèles que vous souhaitez joindre, par exemple :

    Screenshot shows Standard workflow with the action that joins the preceding parallel branches.

Définition de jointure (JSON)

Si vous travaillez en mode Code, vous pouvez définir l’action de jointure dans la définition JSON de votre flux de travail d’application logique à la place, par exemple :

{
  "triggers": {
    "myTrigger": { }
  },
  "actions": {
    "parentAction": {
      "type": "<action-type>",
      "inputs": { },
      "runAfter": {}
    },
    "branchAction1": {
      "type": "<action-type>",
      "inputs": { },
      "runAfter": {
        "parentAction": [
          "Succeeded"
        ]
      }
    },
    "branchAction2": {
      "type": "<action-type>",
      "inputs": { },
      "runAfter": {
        "parentAction": [
          "Succeeded"
        ]
      }
    },
    "joinAction": {
      "type": "<action-type>",
      "inputs": { },
      "runAfter": {
        "branchAction1": [
          "Succeeded"
        ],
        "branchAction2": [
          "Succeeded"
        ]
      }
    }
  },
  "outputs": {}
}

Étapes suivantes