Dela via


Skapa eller koppla parallella grenar av arbetsflödesåtgärder i Azure Logic Apps

Gäller för: Azure Logic Apps (Förbrukning + Standard)

Som standard körs åtgärder i ett logikapparbetsflöde sekventiellt. Om du vill ordna åtgärder i separata grenar och köra dessa grenar samtidigt skapar du parallella grenar. Du kan ansluta dessa grenar senare i arbetsflödet.

Den här guiden visar hur du skapar parallella grenar i ett arbetsflöde och återansluter till dessa grenar, som du ser i det här exempelarbetsflödet:

Skärmbild som visar ett exempelarbetsflöde med parallella grenar som senare sammanfogas.

Dricks

I scenarier där du har en arbetsflödesutlösare som tar emot och returnerar matriser, och du vill att en separat arbetsflödesinstans ska köras för varje element i matrisen, kan du debatcha matrisen som ett alternativ till förgrening. På utlösare som har stöd för denna funktion kan du aktivera Dela på-inställningen i designern, vilken mappar till en splitOn-egenskap i utlösardefinitionen. Endast utlösare som kan acceptera och returnera matriser stöder den här funktionen. Mer information finns i Utlösa flera körningar på en matris.

Förutsättningar

Överväganden för att arbeta med parallella grenar

  • En parallell gren körs endast när dess runAfter egenskapsvärde matchar den överordnade åtgärdens slutförda status. Till exempel körs både grenarna branchAction1 och branchAction2 endast när parentAction slutförs med statusen Lyckades .

  • Arbetsflödet väntar på att alla parallella grenar på samma nivå ska slutföras innan arbetsflödet kör åtgärden som sammanför dessa grenar.

Lägga till en parallell grenåtgärd

  1. Öppna logikappresursen i Azure Portal.

  2. Följ motsvarande steg beroende på om du har en logikapp för förbrukning eller standard.

    • Consumption

      • I sidofältet för resursen går du till Utvecklingsverktyg och väljer designern för att öppna arbetsflödet.
    • Norm

      1. Välj Arbetsflöden under Arbetsflöden i sidofältet för resursen.

      2. På sidan Arbetsflöden väljer du ett arbetsflöde.

      3. I arbetsflödets sidofält, under Verktyg, väljer du designern för att öppna arbetsflödet.

  3. Hovra över anslutningspilen mellan de åtgärder där du vill lägga till en parallell gren.

  4. Välj plustecknet () som visas och välj sedan Lägg till en parallell gren.+

    Skärmbild som visar ett arbetsflöde med markerat plustecken och markerat alternativ, Lägg till en parallell gren.

  5. Lägg till den åtgärd som du vill köra i den parallella grenen. I rutan Lägg till en åtgärd och sökruta letar du upp och väljer den åtgärd som du vill använda.

    Skärmbild som visar ett arbetsflöde med sökrutan Med namnet Välj en åtgärd.

    Den valda åtgärden visas nu i den parallella grenen:

    Skärmbild som visar ett arbetsflöde, en parallell gren och en tidigare vald åtgärd.

  6. Om du vill lägga till ytterligare en åtgärd i den parallella grenen under åtgärden där du vill lägga till en ny åtgärd väljer du plustecknet () och väljer +.

    Skärmbild som visar ett arbetsflöde och hur du lägger till en annan åtgärd i samma parallella gren.

  7. I rutan Lägg till en åtgärd och sökruta letar du upp och väljer den åtgärd som du vill använda.

    Den valda åtgärden visas nu i den aktuella grenen:

    Skärmbild som visar ett arbetsflöde med extra sekventiell åtgärd.

Om du vill sammanfoga grenar igen ansluter du dina parallella grenar, som i följande avsnitt.

Parallell grendefinition (JSON)

I kodvyn kan du definiera den parallella strukturen i logikappens JSON-definition i stället.

{
  "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": {}
}

Koppla parallella grenar

För att slå samman parallella grenar inom alla huvudgrenar, lägg till en annan åtgärd. Den här åtgärden körs först när alla föregående parallella grenar har körts.

  1. Öppna logikappen och arbetsflödet i Azure-portalen enligt beskrivningen i föregående procedur.

  2. Under någon av de parallella grenar som du vill ansluta till väljer du plustecknet (+) och väljer sedan Lägg till en åtgärd.

    Skärmbild som visar ett arbetsflöde med markerat plustecken.

  3. I rutan Lägg till en åtgärd och sökruta letar du upp och väljer den åtgärd som du vill använda för att ansluta till grenarna.

    Skärmbild som visar ett arbetsflöde, en sökruta med namnet Välj en åtgärd och tillgängliga åtgärder för att koppla parallella grenar.

  4. I designern väljer du den tidigare tillagda åtgärden. När åtgärdens informationsfönster har öppnats väljer du Inställningar.

  5. Öppna listan Välj åtgärder under Kör efter på fliken Inställningar. Välj den sista åtgärden i varje gren som måste slutföras innan kopplingsåtgärden körs.

    Anslutningsåtgärden körs först när alla valda åtgärder har slutförts.

    Skärmbild som visar ett arbetsflöde, åtgärden som ansluter till föregående parallella grenar och valda åtgärder för att först slutföra körningen.

    När du är klar visas den valda åtgärden under de parallella grenar som du vill sammanfoga.

    Skärmbild som visar ett arbetsflöde med åtgärden som ansluter till föregående parallella grenar.

Kopplingsdefinition (JSON)

I kodvyn kan du definiera kopplingsåtgärden i logikappens JSON-definition i stället.

{
  "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": {}
}