Crear o combinar ramas paralelas con las acciones de los flujos de trabajo en Azure Logic Apps
Se aplica a: Azure Logic Apps (consumo + estándar)
De forma predeterminada, las acciones en flujos de trabajo de aplicaciones lógicas se ejecutan simultáneamente. Para organizar las acciones en ramas separadas y ejecutar esas ramas al mismo tiempo, puede crear ramas paralelas, y después unir esas ramas más adelante en su flujo de trabajo.
En esta guía se muestra cómo crear ramas paralelas en un flujo de trabajo y volver a unir esas ramas, como se muestra en este diagrama de alto nivel:
Sugerencia
Si su desencadenador de flujo de trabajo recibe una matriz, y quiere ejecutar una instancia de flujo de trabajo para cada elemento de la matriz, en lugar de crear ramas paralelas, puede descomponer esa matriz en su lugar usando la propiedad de desencadenador SplitOn.
Requisitos previos
Suscripción a Azure. Si aún no tiene una, regístrese para obtener una cuenta de Azure gratuita.
Flujo de trabajo de aplicación lógica que comienza con un desencadenador y las acciones que desee. Asegúrese de que el flujo de trabajo incluye las acciones entre las que desea agregar una rama paralela.
Consideraciones para trabajar con ramas paralelas
Una rama paralela se ejecuta solo cuando el valor de su propiedad runAfter coincide con el estado de finalización de la acción principal. Por ejemplo, las dos ramas que comienzan con branchAction1 y branchAction2 se ejecutan solo cuando parentAction finaliza con el estado de Succeeded.
Su flujo de trabajo espera a que finalicen todas las ramas paralelas del mismo nivel antes de ejecutar la acción que une estas ramas.
Agregar una acción de rama paralela
En Azure Portal, abra su aplicación lógica estándar y el flujo de trabajo en el diseñador.
Entre las acciones en las que desea agregar una rama paralela, mueva el puntero sobre la flecha de conexión.
Seleccione el signo más (+) que aparece y después seleccione Agregar una rama paralela.
Ahora, agregue la acción que desea ejecutar en la rama paralela. En el panel Agregar una acción y en el cuadro de búsqueda, busque y seleccione la acción que desee.
La acción seleccionada ahora aparece en la rama paralela, por ejemplo:
Para agregar otra acción a la rama paralela, debajo de la acción en la que desea agregar una nueva acción, seleccione el signo más (+), y después seleccione Añadir una acción.
En el cuadro de búsqueda Elegir una operación, busque y seleccione la acción que desee.
La acción seleccionada ahora aparece en la rama actual, por ejemplo:
Para volver a combinar ramas una las ramas paralelas.
Definición de la rama paralela (JSON)
Si está trabajando en la vista de código, puede definir en su lugar la estructura paralela en la definición JSON del flujo de trabajo de su aplicación lógica, por ejemplo:
{
"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": {}
}
Unión de ramas paralelas
Para combinar ramas paralelas, en todas las ramas, basta con agregar otra acción. Esta acción solo se ejecuta después de que todas las ramas paralelas anteriores terminen de ejecutarse.
En Azure Portal, abra su aplicación lógica Estándar y el flujo de trabajo con las ramas paralelas que quiera combinar en el diseñador.
Bajo cualquiera de las ramas paralelas que quiera agregar, seleccione el signo más (+), y después seleccione Añadir una acción.
En el panel Añadir una acción y en el cuadro de búsqueda, busque y seleccione la acción que quiera usar para combinar las ramas.
En el diseñador, seleccione la acción agregada anteriormente. Una vez que se abra el panel de información de la acción, seleccione Configuración.
En el panel Configuración, en Ejecutar después de, abra la lista Seleccionar acciones y seleccione la última acción de cada rama que debe finalizar antes de que se ejecute la acción de combinar.
Está especificando eficazmente que la acción de combinación solo se ejecuta después de que todas las acciones seleccionadas terminen de ejecutarse.
Cuando termine, la acción seleccionada aparece ahora en las ramas paralelas que desea combinar, por ejemplo:
Definición de la unión (JSON)
Si está trabajando en la vista de código, puede definir en su lugar la acción de combinar en la definición JSON del flujo de trabajo de su aplicación lógica, por ejemplo:
{
"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": {}
}