Criar ou unir ramificações paralelas com ações de fluxo de trabalho nos Aplicativos Lógicos do Azure

Aplica-se a: Aplicativos Lógicos do Azure (Consumo + Padrão)

Por padrão, suas ações em um fluxo de trabalho de aplicativo lógico são executadas sequencialmente. Para organizar ações em ramificações separadas e executá-las ao mesmo tempo, você pode criar ramificações paralelas e, em seguida , unir essas ramificações posteriormente em seu fluxo de trabalho.

Este guia mostra como criar ramificações paralelas em um fluxo de trabalho e reingressar nessas ramificações, conforme mostrado neste diagrama de alto nível:

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

Gorjeta

Se o gatilho do fluxo de trabalho receber uma matriz e você quiser executar uma instância de instância de fluxo de trabalho para cada item da matriz, em vez de criar ramificações paralelas, poderá desagrupar essa matriz usando a propriedade de gatilho SplitOn.

Pré-requisitos

  • Uma subscrição do Azure. Se não tiver uma subscrição, inscreva-se numa conta do Azure gratuita.

  • Um fluxo de trabalho de aplicativo lógico que começa com um gatilho e as ações desejadas. Certifique-se de que seu fluxo de trabalho inclua as ações entre onde você deseja adicionar uma ramificação paralela.

Considerações para trabalhar com ramificações paralelas

  • Uma ramificação paralela é executada somente quando seu valor de propriedade runAfter corresponde ao status concluído da ação pai. Por exemplo, ambas as ramificações que começam com branchAction1 e branchAction2 são executadas somente quando parentAction é concluído com o status Succeeded.

  • Seu fluxo de trabalho aguarda a conclusão de todas as ramificações paralelas no mesmo nível antes de executar a ação que une essas ramificações.

Adicionar uma ação de ramificação paralela

  1. No portal do Azure, abra seu aplicativo lógico padrão e fluxo de trabalho no designer.

  2. Entre as ações em que você deseja adicionar uma ramificação paralela, mova o ponteiro sobre a seta de conexão.

  3. Selecione o sinal de adição (+) que aparece e, em seguida, selecione Adicionar uma ramificação paralela.

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

  4. Agora, adicione a ação que você deseja executar na ramificação paralela. Na caixa Adicionar um painel de ação e pesquisa, localize e selecione a ação desejada.

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

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

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

  5. Para adicionar outra ação à ramificação paralela, na ação em que pretende adicionar uma nova ação, selecione o sinal de adição (+) e, em seguida, selecione Adicionar uma ação.

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

  6. Na caixa de pesquisa Escolha uma operação, localize e selecione a ação desejada.

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

    Screenshot shows Standard workflow with added sequential action.

Para mesclar ramificações novamente, junte suas ramificações paralelas.

Definição de ramificação paralela (JSON)

Se você estiver trabalhando na visualização de código, poderá definir a estrutura paralela na definição JSON do fluxo de trabalho do seu 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": {}
}

Junte-se a ramificações paralelas

Para mesclar ramificações paralelas, sob todas as ramificações, basta adicionar outra ação. Esta ação é executada somente depois que todas as ramificações paralelas anteriores terminam de ser executadas.

  1. No portal do Azure, abra seu aplicativo lógico padrão e fluxo de trabalho com as ramificações paralelas que você deseja associar ao designer.

  2. Em qualquer uma das ramificações paralelas às quais pretende aderir, selecione o sinal de adição (+) e, em seguida, selecione Adicionar uma ação.

    Screenshot shows Standard workflow with selected plus sign.

  3. Na caixa Adicionar um painel de ação e pesquisa, localize e selecione a ação que deseja usar para ingressar nas ramificações.

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

  4. No designer, selecione a ação adicionada anteriormente. Depois que o painel de informações da ação for aberto, selecione Configurações.

  5. No painel Configurações, em Executar após, abra a lista Selecionar ações e selecione a última ação em cada ramificação que deve ser concluída antes que a ação de associação seja executada.

    Você está efetivamente especificando que a ação de associação é executada somente depois que todas as ações selecionadas terminam de ser executadas.

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

    Quando terminar, a ação selecionada aparecerá sob as ramificações paralelas às quais você deseja ingressar, por exemplo:

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

Definição de junção (JSON)

Se você estiver trabalhando na visualização de código, poderá definir a ação de junção na definição JSON do fluxo de trabalho do seu 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": {}
}

Próximos passos