Compartilhar via


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 no fluxo de trabalho de um aplicativo lógico são executadas sequencialmente. Para organizar ações em ramificações separadas e executar essas ramificações simultaneamente, você pode criar ramificações paralelas e, em seguida, unir essas ramificações posteriormente no 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 diagrama de alto nível:

Captura de tela mostrando um diagrama conceitual de alto nível com branches paralelos que posteriormente ingressarão no fluxo de trabalho.

Dica

Se o gatilho do seu fluxo de trabalho receber uma matriz e você quiser executar uma instância de fluxo de trabalho para cada item da matriz, em vez de criar branches paralelos, você poderá retirar essa matriz do lote usando a propriedade de gatilho SplitOn.

Pré-requisitos

  • Uma assinatura do Azure. Se você não tem uma assinatura, inscreva-se em uma conta gratuita do Azure.

  • Um fluxo de trabalho de aplicativo lógico que começa com um gatilho e as ações desejadas. Verifique se seu fluxo de trabalho inclui as ações no local em que você deseja adicionar uma ramificação paralela.

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

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

  • O 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 o fluxo de trabalho e o aplicativo lógico Standard no designer.

  2. Entre as ações nas quais 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 então selecione Adicionar uma ramificação paralela.

    Captura de tela mostrando o fluxo de trabalho Standard com o sinal de mais e a opção

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

    Captura de tela mostrando o fluxo de trabalho Standard com a caixa de pesquisa chamada

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

    Captura de tela mostrando o fluxo de trabalho Standard, o branch paralelo e a ação selecionada anteriormente.

  5. 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 o fluxo de trabalho Standard e como adicionar outra ação ao mesmo branch paralelo.

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

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

    Captura de tela mostrando o fluxo de trabalho Standard com uma ação sequencial adicionada.

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, você pode definir uma estrutura paralela na definição JSON do fluxo de trabalho 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 as ramificações paralelas, abaixo de todas as ramificações, 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 Standard e o fluxo de trabalho com as ramificações paralelas que você deseja unir no designer.

  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.

    Captura de tela mostrando o fluxo de trabalho Standard com o sinal de mais 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.

    Captura de tela mostrando o fluxo de trabalho Standard, a caixa de pesquisa chamada

  4. No designer, selecione a ação adicionada anteriormente. Quando o painel de informações da ação abrir, 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 da execução da ação de união.

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

    Captura de tela mostrando o fluxo de trabalho Standard, a ação que une os branches paralelos anteriores e as ações selecionadas para concluir a execução primeiro.

    Quando você terminar, a ação selecionada agora será exibida nas ramificações paralelas que você deseja unir, por exemplo:

    Captura de tela mostrando o fluxo de trabalho Standard com a ação que une os branches paralelos anteriores.

Definição de união (JSON)

Se você estiver trabalhando na exibição de código, será possível definir uma ação de união na definição JSON do fluxo de trabalho 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": {}
}

Próximas etapas