Tous les produits
Search
Centre de documentation

CloudFlow:Étape parallèle

Dernière mise à jour :Aug 26, 2026

Cette rubrique décrit l'étape parallèle et fournit un exemple.

Introduction

Une étape parallèle exécute plusieurs branches simultanément. Chaque branche contient une série d'étapes séquentielles.

Chaque branche d'une étape parallèle dispose d'une variable locale. Lors de l'exécution, toutes les branches sont traitées concurremment. Les étapes séquentielles de chaque branche modifient la variable locale qui lui est associée. Une fois toutes les branches exécutées, un mappage de sortie transforme le tableau des variables locales issues des branches en la sortie de l'étape parallèle.

Remarque

Une étape parallèle peut comporter au maximum 100 branches.

Une étape parallèle possède les propriétés suivantes :

  • (Obligatoire) type : Type de l'étape. La valeur doit être parallel.

  • (Obligatoire) name : Nom de l'étape.

  • (Obligatoire) branches : Tableau de branches.

    (Obligatoire) steps : Définit les étapes séquentielles de la branche.

  • (Facultatif) end : Indique s'il s'agit de la dernière étape du flux.

  • (Facultatif) inputMappings : Mappages d'entrée.

  • (Facultatif) outputMappings : Mappages de sortie. La variable $local de cette étape est un tableau. Chaque élément du tableau est un objet JSON contenant le résultat d'exécution d'une branche.

    Remarque

    Si aucun mappage de sortie n'est spécifié, la sortie de cette étape est vide par défaut.

Exemple

L'exemple de flux suivant définit une étape parallèle. Cette étape contient deux branches, chacune comprenant une étape 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 est défini comme suit.

    {
      "result": "pass1"
    }          
  • pass2 est défini comme suit.

    {
      "result": "pass2"
    }           
  • myparallel est défini comme suit.

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