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:
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 na matriz, em vez de criar ramificações paralelas, poderá retirar de lote essa matriz 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
No portal do Azure, abra o fluxo de trabalho e o aplicativo lógico Standard no designer.
Entre as ações nas quais você deseja adicionar uma ramificação paralela, mova o ponteiro sobre a seta de conexão.
Selecione o sinal de adição (+) que aparece e então selecione Adicionar uma ramificação paralela.
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.
Sua ação selecionada agora aparece na ramificação paralela, por exemplo:
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.
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:
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.
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.
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.
No painel e caixa de pesquisa Adicionar uma ação, localize e selecione a ação a ser usada para unir as ramificações.
No designer, selecione a ação adicionada anteriormente. Quando o painel de informações da ação abrir, selecione Configurações.
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.
Quando você terminar, a ação selecionada agora será exibida nas ramificações paralelas que você deseja unir, por exemplo:
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": {}
}