Criar ou unir branches paralelos para ações de fluxo de trabalho nos Aplicativos Lógicos do Azure

Por padrão, suas ações nos fluxos de trabalho de aplicativo lógico são executadas sequencialmente. Para executar ações independentes ao mesmo tempo, você pode criar Branches paralelos e, em seguida, unir esses branches posteriormente no seu fluxo.

Dica

Se você tiver um gatilho que recebe uma matriz e deseja executar um fluxo de trabalho para cada item de matriz, é possível fazer debatch dessa matriz com o SplitOn da propriedade de gatilho.

Pré-requisitos

Adicionar branch paralelo

Para executar etapas independentes ao mesmo tempo, você pode adicionar branches paralelos próximos a uma etapa existente.

Run steps in parallel

Seu aplicativo lógico espera que todos os branches estejam concluídos antes de continuar o fluxo de trabalho. Os branches em paralelo são executados somente quando seus valores de propriedade runAfter corresponderem ao status da etapa pai concluída. Por exemplo, branchAction1 e branchAction2 estão definidos para serem executados apenas quando parentAction tiver concluído com o status Succeeded.

Observação

Antes de começar, seu aplicativo lógico já deve ter uma etapa onde você possa adicionar branches paralelos.

  1. No Portal do Azure, abra o aplicativo lógico no Designer do Aplicativo Lógico.

  2. Mova o ponteiro sobre a seta acima da etapa em que você deseja adicionar ramificações paralelas. Escolha o plus sinal ( + ) que aparece e, em seguida, escolha adicionar uma ramificação paralela.

    Add parallel branch

  3. Na caixa de pesquisa, encontre e selecione a ação desejada.

    Screenshot that shows the

    Sua ação selecionada agora aparece na ramificação paralela, por exemplo:

    Find and select the action you want

  4. Agora, em cada ramificação paralela, adicione as etapas desejadas. Para adicionar outra ação a uma ramificação, mova seu ponteiro para a ação em que você deseja adicionar uma ação sequencial. Escolha o sinal mais ( + ) que aparece e, em seguida, selecione Adicionar uma ação.

    Add sequential action to parallel branch

  5. Na caixa de pesquisa, encontre e selecione a ação desejada.

    Screenshot that shows the

    A ação selecionada agora aparece dentro da ramificação atual, por exemplo:

    Find and select sequential action

Para mesclar de volta os branches, una seus branches paralelos.

Definição de branch paralelo (JSON)

Se você estiver trabalhando na exibição de código, será possível definir uma estrutura paralela na definição JSON do aplicativo lógico, por exemplo:

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

Unir branches paralelos

Para mesclar branches paralelos, adicione uma etapa na parte inferior abaixo de todos os branches. Esta etapa é executada após todos os branches paralelos terem concluído a execução.

Join parallel branches

  1. No Portal do Azure, encontre e abra seu aplicativo lógico no Designer de Aplicativo Lógico.

  2. Sob as ramificações paralelas que você deseja unir, escolha Nova etapa.

    Add step to join

  3. Na caixa de pesquisa, localize e selecione a ação que deseja como a etapa que una os branches.

    Find and select the action that joins parallel branches

    Seus branches paralelos são mesclados.

    Joined branches

Definição de união (JSON)

Se você estiver trabalhando na exibição de código, será possível definir uma estrutura de união na definição JSON do aplicativo lógico, por exemplo:

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

Obtenha suporte

Próximas etapas