Compartir a través de


Creación o combinación de ramas paralelas de acciones de flujo de trabajo en Azure Logic Apps

Se aplica a: Azure Logic Apps (consumo + estándar)

De forma predeterminada, las acciones de un flujo de trabajo de aplicación lógica se ejecutan secuencialmente. Para organizar acciones en ramas independientes y ejecutar esas ramas al mismo tiempo, cree ramas paralelas. Puede unir esas ramas más adelante en el 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 flujo de trabajo de ejemplo:

Captura de pantalla que muestra un flujo de trabajo de ejemplo con ramas paralelas que se combinan más adelante.

Sugerencia

En situaciones donde tiene un desencadenador de flujo de trabajo que recibe y devuelve matrices, y quiere que se ejecute una instancia de flujo de trabajo independiente para cada elemento de la matriz, puede desagrupar la matriz como alternativa a la bifurcación. En los desencadenadores que admiten esta capacidad, dentro del diseñador, puede activar la opción Dividir en, que se corresponde con una propiedad splitOn en la definición del desencadenador. Solo los desencadenadores que pueden aceptar y devolver matrices admiten esta funcionalidad. Para obtener más información, vea Desencadenar varias ejecuciones en una matriz.

Requisitos previos

Consideraciones para trabajar con ramas paralelas

  • Una rama paralela solo se ejecuta cuando su runAfter valor de propiedad coincide con el estado completado de la acción primaria. Por ejemplo, las ramas branchAction1 y branchAction2 solo se ejecutan cuando parentAction se completa con el estado Exitoso.

  • El flujo de trabajo espera a que se completen todas las ramas paralelas en el mismo nivel antes de que el flujo de trabajo ejecute la acción que une estas ramas.

Agregar una acción de rama paralela

  1. En Azure Portal, abra el recurso de aplicación lógica.

  2. En función de si tiene una aplicación lógica de consumo o Estándar, siga el paso correspondiente:

    • Consumption

      • En la barra lateral del recurso, en Herramientas de desarrollo, seleccione el diseñador para abrir el flujo de trabajo.
    • Estándar

      1. En la barra lateral del recurso, en Flujos de trabajo, seleccione Flujos de trabajo.

      2. En la página Flujos de trabajo, seleccione un flujo de trabajo.

      3. En la barra lateral del flujo de trabajo, en Herramientas, seleccione el diseñador para abrir el flujo de trabajo.

  3. Entre las acciones en las que desea agregar una rama paralela, mantenga el puntero sobre la flecha de conexión.

  4. Seleccione el signo más (+) que aparece y después seleccione Agregar una rama paralela.

    Captura de pantalla que muestra un flujo de trabajo con el signo más seleccionado y la opción seleccionada, Agregar una rama paralela.

  5. 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.

    Captura de pantalla que muestra un flujo de trabajo con el cuadro de búsqueda denominado Elegir una operación.

    La acción seleccionada aparece ahora en la rama paralela:

    Captura de pantalla que muestra un flujo de trabajo, una rama paralela y una acción seleccionada anteriormente.

  6. 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.

    Captura de pantalla que muestra un flujo de trabajo y cómo agregar otra acción a la misma rama paralela.

  7. 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 aparece ahora dentro de la rama actual:

    Captura de pantalla que muestra un flujo de trabajo con una acción secuencial agregada.

Para volver a combinar las ramas, integre sus ramas paralelas, como se describe en la siguiente sección.

Definición de la rama paralela (JSON)

En la vista de código, puede definir la estructura paralela en la definición JSON del flujo de trabajo de la aplicación lógica en su lugar.

{
  "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, agregue otra acción. Esta acción solo se ejecuta después de que todas las ramas paralelas anteriores terminen de ejecutarse.

  1. En Azure Portal, abra la aplicación lógica y el flujo de trabajo como se describe en el procedimiento anterior.

  2. Bajo cualquiera de las ramas paralelas que quiera agregar, seleccione el signo más (+), y después seleccione Añadir una acción.

    Captura de pantalla que muestra un flujo de trabajo con el signo más seleccionado.

  3. 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.

    Captura de pantalla que muestra un flujo de trabajo, un cuadro de búsqueda denominado Elegir una operación y acciones disponibles para unir ramas paralelas.

  4. 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.

  5. En la pestaña Configuración , en Ejecutar después, abra la lista Seleccionar acciones . Seleccione la última acción de cada rama que debe finalizar antes de que se ejecute la acción de combinación.

    La acción de combinación solo se ejecuta después de que todas las acciones seleccionadas terminen de ejecutarse.

    Captura de pantalla que muestra un flujo de trabajo, la acción que combina las ramas paralelas anteriores y las acciones seleccionadas para finalizar primero la ejecución.

    Cuando haya terminado, la acción seleccionada aparecerá en las ramas paralelas que desea unir:

    Captura de pantalla que muestra un flujo de trabajo con la acción que combina las ramas paralelas anteriores.

Definición de la unión (JSON)

En la vista de código, puede definir la acción de combinación en la definición JSON del flujo de trabajo de la aplicación lógica en su lugar.

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