Condividi tramite


Creare o unire rami paralleli con azioni del flusso di lavoro in App per la logica di Azure

Si applica a: App per la logica di Azure (consumo + standard)

Per impostazione predefinita, le azioni in un flusso di lavoro dell'app per la logica vengono eseguite in sequenza. Per organizzare le azioni in rami separati ed eseguire tali rami contemporaneamente, è possibile creare rami paralleli e quindi unire tali rami in un secondo momento nel flusso di lavoro.

Questa guida illustra come creare rami paralleli in un flusso di lavoro e riunirli di nuovo, come illustrato in questo diagramma generale:

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

Suggerimento

Se il trigger del flusso di lavoro riceve una matrice e si vuole eseguire un'istanza del flusso di lavoro per ogni elemento nella matrice, anziché creare rami paralleli, è possibile annullare il debatch di tale matrice usando la proprietà trigger SplitOn.

Prerequisiti

  • Una sottoscrizione di Azure. Se non si ha una sottoscrizione, è possibile iscriversi per creare un account Azure gratuito.

  • Flusso di lavoro dell'app per la logica che inizia con un trigger e le azioni desiderate. Assicurarsi che il flusso di lavoro includa le azioni tra la posizione in cui si vuole aggiungere un ramo parallelo.

Considerazioni sull'uso di rami paralleli

  • Un ramo parallelo viene eseguito solo quando il valore della proprietà runAfter corrisponde allo stato completato dell'azione padre. Ad esempio, entrambi i rami che iniziano con branchAction1 e branchAction2 vengono eseguiti solo quando parentAction viene completato con lo stato Succeeded.

  • Il flusso di lavoro attende il completamento di tutti i rami paralleli allo stesso livello prima di eseguire l'azione che unisce questi rami.

Aggiungere un'azione di ramo parallelo

  1. Nella portale di Azure aprire l'app per la logica Standard e il flusso di lavoro nella finestra di progettazione.

  2. Tra le azioni in cui si desidera aggiungere un ramo parallelo, spostare il puntatore sulla freccia di connessione.

  3. Selezionare il segno più (+) visualizzato e quindi selezionare Aggiungi un ramo parallelo.

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

  4. Aggiungere ora l'azione da eseguire nel ramo parallelo. Nel riquadro Aggiungi un'azione e nella casella di ricerca trovare e selezionare l'azione desiderata.

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

    L'azione selezionata viene ora visualizzata nel ramo parallelo, ad esempio:

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

  5. Per aggiungere un'altra azione al ramo parallelo, sotto l'azione in cui si vuole aggiungere una nuova azione, selezionare il segno più (+) e quindi selezionare Aggiungi un'azione.

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

  6. Nella casella di ricerca Scegliere un'operazione trovare e selezionare l'azione desiderata.

    A questo punto l'azione selezionata viene visualizzata all'interno del ramo corrente, ad esempio:

    Screenshot shows Standard workflow with added sequential action.

Per unire di nuovo i rami, creare un join dei rami paralleli.

Definizione dei rami paralleli (JSON)

Se si usa la visualizzazione codice, è possibile definire la struttura parallela nella definizione JSON del flusso di lavoro dell'app per la logica, ad esempio:

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

Creare un join dei rami paralleli

Per unire rami paralleli, in tutti i rami, è sufficiente aggiungere un'altra azione. Questa azione viene eseguita solo dopo il completamento dell'esecuzione di tutti i rami paralleli precedenti.

  1. Nella portale di Azure aprire l'app per la logica Standard e il flusso di lavoro con i rami paralleli da unire nella finestra di progettazione.

  2. In uno dei rami paralleli da unire selezionare il segno più (+) e quindi selezionare Aggiungi un'azione.

    Screenshot shows Standard workflow with selected plus sign.

  3. Nel riquadro Aggiungi un'azione e nella casella di ricerca trovare e selezionare l'azione da usare per unire i rami.

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

  4. Nella finestra di progettazione selezionare l'azione aggiunta in precedenza. Dopo aver aperto il riquadro informazioni dell'azione, selezionare Impostazioni.

  5. Nel riquadro Impostazioni, in Esegui dopo, aprire l'elenco Seleziona azioni e selezionare l'ultima azione in ogni ramo che deve terminare prima dell'esecuzione dell'azione di join.

    Si sta specificando in modo efficace che l'azione di join viene eseguita solo dopo che tutte le azioni selezionate terminano l'esecuzione.

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

    Al termine, l'azione selezionata viene ora visualizzata sotto i rami paralleli che si desidera unire, ad esempio:

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

Definizione del join (JSON)

Se si usa la visualizzazione codice, è possibile definire l'azione di join nella definizione JSON del flusso di lavoro dell'app per la logica, ad esempio:

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

Passaggi successivi