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 (a consumo e 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 che mostra un diagramma concettuale di alto livello con rami paralleli che verranno aggiunti successivamente al flusso di lavoro.

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 invece 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. Nel portale di Azure, aprire l'app per la logica e il flusso di lavoro Standard 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 che mostra il flusso di lavoro Standard con il segno più selezionato e l'opzione selezionata, Aggiungi un ramo parallelo.

  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 che mostra il flusso di lavoro Standard con la casella di ricerca denominata Scegli un'operazione.

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

    Screenshot che mostra il flusso di lavoro Standard, il ramo parallelo e l'azione selezionata in precedenza.

  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 che mostra il flusso di lavoro Standard e come aggiungere un'altra azione allo stesso ramo parallelo.

  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 che mostra il flusso di lavoro Standard con l'azione sequenziale aggiunta.

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 che mostra il flusso di lavoro Standard con il segno più selezionato.

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

    Screenshot che mostra il flusso di lavoro Standard, la casella di ricerca denominata Scegliere un'operazione e le azioni disponibili per l'aggiunta di rami paralleli.

  4. Nella finestra di progettazione selezionare l'azione aggiunta in precedenza. Dopo aver aperto il riquadro delle 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 che mostra il flusso di lavoro Standard, l'azione che unisce i rami paralleli precedenti e le azioni selezionate per completare prima l'esecuzione.

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

    Screenshot che mostra il flusso di lavoro Standard con l'azione che unisce i rami paralleli precedenti.

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