Compartilhar via


Criar ou ingressar em ramificações paralelas de 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, as ações em um fluxo de trabalho de aplicativo lógico são executadas sequencialmente. Para organizar ações em ramificações separadas e executar essas ramificações ao mesmo tempo, crie ramificações paralelas. Você pode mesclar esses ramos posteriormente em seu fluxo de trabalho.

Este guia mostra como criar ramificações paralelas em um fluxo de trabalho e reunir essas ramificações, conforme mostrado neste exemplo de fluxo de trabalho:

A captura de tela mostra um exemplo de fluxo de trabalho com branches paralelos que mais tarde se fundem.

Dica

Em cenários em que você tem um gatilho de fluxo de trabalho que recebe e retorna matrizes, e deseja que uma instância separada do fluxo de trabalho seja executada para cada item da matriz, você pode desagrupar a matriz como alternativa à ramificação. Em gatilhos que dão suporte a essa capacidade, no designer, você pode ativar a configuração Dividir em, que é mapeada para uma propriedade splitOn na definição do gatilho. Somente os gatilhos que podem aceitar e retornar matrizes dão suporte a essa funcionalidade. Para obter mais informações, confira Acionar várias execuções em uma matriz.

Pré-requisitos

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

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

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

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

  1. Abra o recurso de aplicativo lógico no portal do Azure.

  2. Com base no tipo de aplicativo lógico, Consumo ou Standard, siga a etapa correspondente:

    • Consumo

      • Na barra lateral do recurso, em Ferramentas de Desenvolvimento, selecione o designer para abrir o fluxo de trabalho.
    • Standard

      1. Na barra lateral do recurso, em Fluxos de Trabalho, selecione Fluxos de Trabalho.

      2. Na página Fluxos de Trabalho , selecione um fluxo de trabalho.

      3. Na barra lateral do fluxo de trabalho, em Ferramentas, selecione o designer para abrir o fluxo de trabalho.

  3. Entre as ações em que você deseja adicionar um branch paralelo, passe o mouse sobre a seta de conexão.

  4. Selecione o sinal de adição (+) que aparece e então selecione Adicionar uma ramificação paralela.

    A captura de tela mostra um fluxo de trabalho com sinal de adição selecionado e a opção selecionada Adicionar uma ramificação paralela.

  5. Adicione a ação que você deseja executar no ramo paralelo. No painel e caixa de pesquisa Adicionar uma ação, localize e selecione a ação desejada.

    A captura de tela mostra um fluxo de trabalho com a caixa de pesquisa chamada Escolher uma operação.

    A ação selecionada agora aparece no ramo paralelo:

    A captura de tela mostra um fluxo de trabalho, um branch paralelo e uma ação selecionada anteriormente.

  6. Para adicionar outra ação para a ramificação paralela, na ação em que você deseja adicionar a nova ação, selecione o sinal de adição (+) e selecione Adicionar uma ação.

    Captura de tela mostrando um fluxo de trabalho e como adicionar outra ação ao mesmo branch paralelo.

  7. No painel e caixa de pesquisa Adicionar uma ação, localize e selecione a ação desejada.

    A ação selecionada agora aparece na branch atual:

    A captura de tela mostra um fluxo de trabalho com ação sequencial adicionada.

Para mesclar as branches novamente, una suas ramificações paralelas, conforme mostrado na seção a seguir.

Definição de branch paralelo (JSON)

Na exibição de código, você pode definir a estrutura paralela na definição JSON do fluxo de trabalho do seu aplicativo lógico.

{
  "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 ramificações paralelas sob todas as branches, adicione outra ação. Esta ação é executada somente depois que todos as ramificações paralelas anteriores terminarem de ser executadas.

  1. No portal do Azure, abra o aplicativo lógico e o fluxo de trabalho, conforme descrito no procedimento anterior.

  2. Em qualquer uma das ramificações paralelas que você deseja unir, selecione o sinal de adição (+) e, em seguida, selecione Adicionar uma ação.

    A captura de tela mostra um fluxo de trabalho com sinal de adição selecionado.

  3. No painel e caixa de pesquisa Adicionar uma ação, localize e selecione a ação a ser usada para unir as ramificações.

    A captura de tela mostra um fluxo de trabalho, uma caixa de pesquisa chamada Escolha uma operação e ações disponíveis para unir ramificações paralelas.

  4. No designer, selecione a ação adicionada anteriormente. Quando o painel de informações da ação abrir, selecione Configurações.

  5. Na guia Configurações , em Executar depois, abra a lista Selecionar ações . Selecione a última ação em cada branch que deve ser concluída antes que a ação de junção seja executada.

    A ação de junção é executada somente depois que todas as ações selecionadas terminarem de ser executadas.

    A captura de tela mostra um fluxo de trabalho, a ação que une as ramificações paralelas anteriores e as ações selecionadas a serem concluídas primeiro.

    Quando você terminar, a ação selecionada será exibida sob as ramificações paralelas que você deseja unir.

    A captura de tela mostra um fluxo de trabalho com a ação que une as ramificações paralelas precedentes.

Definição de união (JSON)

Na exibição de código, você pode definir a ação de junção na definição JSON do fluxo de trabalho do seu aplicativo lógico.

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