Skapa eller ansluta parallella grenar med arbetsflödesåtgärder i Azure Logic Apps
Gäller för: Azure Logic Apps (Förbrukning + Standard)
Som standard körs dina åtgärder i ett logikapparbetsflöde sekventiellt. Om du vill ordna åtgärder i separata grenar och köra dessa grenar samtidigt kan du skapa parallella grenar och sedan 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 diagrammet på hög nivå:
Dricks
Om arbetsflödesutlösaren tar emot en matris och du vill köra en arbetsflödesinstansinstans för varje objekt i matrisen, i stället för att skapa parallella grenar, kan du i stället diskutera matrisen med hjälp av egenskapen SplitOn-utlösare.
Förutsättningar
En Azure-prenumeration. Om du inte har någon prenumeration kan du registrera ett kostnadsfritt Azure-konto.
Ett arbetsflöde för logikappen som börjar med en utlösare och de åtgärder som du vill ha. Kontrollera att arbetsflödet innehåller åtgärderna mellan var du vill lägga till en parallell gren.
Ö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åda grenarna som börjar med 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 åtgärden som ansluter till dessa grenar körs.
Lägga till en parallell grenåtgärd
Öppna standardlogikappen och arbetsflödet i designern i Azure-portalen.
Mellan de åtgärder där du vill lägga till en parallell gren flyttar du pekaren över anslutningspilen.
Välj plustecknet () som visas och välj sedan Lägg till en parallell gren.+
Lägg nu 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.
Den valda åtgärden visas nu i den parallella grenen, till exempel:
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 sedan Lägg till en åtgärd.
I sökrutan Välj en åtgärd letar du upp och väljer den åtgärd som du vill använda.
Den valda åtgärden visas nu inom den aktuella grenen, till exempel:
Om du vill sammanfoga grenarna igen ansluter du dina parallella grenar.
Parallell grendefinition (JSON)
Om du arbetar i kodvyn kan du definiera den parallella strukturen i logikappens JSON-definition i stället, till exempel:
{
"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
Om du vill sammanfoga parallella grenar under alla grenar lägger du bara 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.
Öppna standardlogikappen och arbetsflödet i Azure-portalen med de parallella grenar som du vill ansluta till designern.
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.
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.
I designern väljer du den tidigare tillagda åtgärden. När åtgärdens informationsfönster öppnas väljer du Inställningar.
I fönstret Inställningar, under Kör efter, öppnar du listan Välj åtgärder och väljer den sista åtgärden i varje gren som måste slutföras innan kopplingsåtgärden körs.
Du anger i praktiken att kopplingsåtgärden endast körs när alla valda åtgärder har körts.
När du är klar visas den valda åtgärden nu under de parallella grenar som du vill ansluta till, till exempel:
Kopplingsdefinition (JSON)
Om du arbetar i kodvyn kan du definiera kopplingsåtgärden i logikappens JSON-definition i stället, till exempel:
{
"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": {}
}