Todos os produtos
Search
Central de documentação

CloudFlow:Etapa paralela

Última atualização: Aug 26, 2026

Este tópico descreve a etapa paralela e apresenta um exemplo.

Introdução

Uma etapa paralela executa várias ramificações simultaneamente. Cada ramificação contém uma série de etapas sequenciais.

Cada ramificação de uma etapa paralela possui uma variável local. Durante a execução da etapa paralela, todas as ramificações são processadas ao mesmo tempo. As etapas sequenciais em cada ramificação modificam a variável local correspondente. Após a conclusão de todas as ramificações, um mapeamento de saída transforma o array de variáveis locais na saída da etapa paralela.

Nota

Uma etapa paralela pode ter no máximo 100 ramificações.

A etapa paralela tem as seguintes propriedades:

  • (Obrigatório) type: tipo da etapa. O valor deve ser parallel.

  • (Obrigatório) name: nome da etapa.

  • (Obrigatório) branches: array de ramificações.

    (Obrigatório) steps: define as etapas sequenciais da ramificação.

  • (Opcional) end: especifica se esta é a última etapa do fluxo.

  • (Opcional) inputMappings: mapeamentos de entrada.

  • (Opcional) outputMappings: mapeamentos de saída. A variável $local desta etapa é um array. Cada elemento do array é um objeto JSON com o resultado da execução de uma ramificação.

    Nota

    Se os mapeamentos de saída não forem especificados, a saída desta etapa será vazia por padrão.

Exemplo

O fluxo de exemplo a seguir define uma etapa paralela. Essa etapa contém duas ramificações, e cada uma inclui uma etapa pass.

version: v1
type: flow
steps:
  - type: parallel
    name: myparallel
    branches:
      - steps:
        - type: pass
          name: pass1
          outputMappings:
            - target: result
              source: pass1
      - steps:
        - type: pass
          name: pass2
          outputMappings:
            - target: result
              source: pass2
    outputMappings:
      - target: result
        source: $local[*].result          
  • pass1 tem a seguinte definição:

    {
      "result": "pass1"
    }          
  • pass2 tem a seguinte definição:

    {
      "result": "pass2"
    }           
  • myparallel tem a seguinte definição:

    {
      "result": ["pass1", "pass2"]
    }