Tous les produits
Search
Centre de documentation

CloudFlow:Étapes de choix

Dernière mise à jour :Aug 11, 2026

Cette rubrique décrit les principes de base et des exemples d'étapes de choix, ainsi que les expressions conditionnelles associées.

Paramètres

Les étapes de choix permettent d'exécuter différentes étapes d'un workflow selon des conditions, à l'instar de l'instruction switch-case dans les langages de programmation. Une étape de choix contient plusieurs options de choix et une option par défaut. Chaque option de choix comprend une expression conditionnelle, plusieurs étapes et des instructions goto. L'option par défaut ne contient que des étapes et des instructions goto. Lorsque le workflow atteint une étape de choix, le système évalue si les expressions conditionnelles retournent True dans l'ordre défini.

  • Si la valeur True est renvoyée, le système exécute les étapes puis les instructions goto définies dans l'option de choix correspondante.

  • Si aucune option de choix ne renvoie True, le système exécute les étapes et les instructions goto définies dans l'option par défaut.

  • Si aucune option par défaut n'est définie, l'étape de choix se termine.

Une étape de choix contient les attributs suivants :

  • type : Obligatoire. Type de l'étape. La valeur choice spécifie une étape de choix.

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

  • choices : Obligatoire. Tableau contenant plusieurs options de choix. Chaque élément correspond à une option de choix.

    • condition : Obligatoire. Expression conditionnelle. Les expressions conditionnelles font référence aux entrées de l'étape via JSONPath ($.key).

    • steps : Facultatif. Séquence d'étapes définie pour une option de choix.

    • goto : Facultatif. Nom de l'étape cible, qui doit être au même niveau que l'étape de choix.

  • default : Obligatoire. Option par défaut.

    • steps : Facultatif. Séquence d'étapes définie pour l'option par défaut.

    • goto : Facultatif. Nom de l'étape cible, qui doit être au même niveau que l'étape de choix actuelle.

  • end : Facultatif. Indique s'il faut exécuter les étapes suivantes après la fin de l'étape actuelle.

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

  • outputMappings : Facultatif. Mappages de sortie. La variable $local de cette étape indique le résultat d'exécution de la branche de choix.

    Remarque

    Si aucun mappage de sortie n'est spécifié, $local sert par défaut de sortie pour cette étape.

Exemples

Le workflow d'exemple suivant définit une étape de choix.

  • Si la valeur de status dans l'entrée est ready, les étapes pass1, pass3 et final de la première option de choix sont exécutées séquentiellement.

  • Si la valeur de status dans l'entrée est failed, les instructions goto de la deuxième option de choix sont exécutées, l'étape de choix se termine et l'étape final est exécutée.

  • Si la valeur de status dans l'entrée n'est ni ready ni failed, l'option par défaut est exécutée. Autrement dit, les étapes pass2 et final sont exécutées.

version: v1
type: flow
steps:
  - type: choice
    name: mychoice
    choices:
      - condition: $.status == "ready"
        # choice with steps
        steps:
          - type: pass
            name: pass1
      - condition: $.status == "failed"
        # choice with goto
        goto: final
    default:
      # choice with both steps and goto
      steps:
        - type: pass
          name: pass2
      goto: final
  - type: pass
    name: pass3
  - type: pass
    name: final            

Expressions conditionnelles

Une expression conditionnelle se compose des opérations et variables suivantes :

  • Opérations de comparaison : >>=<<===!=. Elles s'appliquent aux chaînes et aux nombres.

  • Opérations logiques : ||&&.

  • Constantes de chaîne : Une constante de chaîne est entourée de guillemets doubles (") ou d'accents graves (). Exemples : "foobar" ou foobar`.

  • Constantes numériques : 112.5.

  • Constante booléenne : true ou false.

  • Préfixe :!-.

  • Contain : in, utilisé pour déterminer si un tableau contient une valeur ou si un objet contient une clé spécifique.

L'exemple suivant montre les résultats d'exécution des étapes pour différentes expressions conditionnelles.

{
  "a": 1,
  "b": {
    "b1": true,
    "b2": "ready"
  },
  "c": [1, 2, 3],
  "d": 1,
  "e": 1,
  "f": {
    "f1": false,
    "f2": "inprogress"
  }
}           

Expression conditionnelle

Résultat

$.a==1

true

$.a==2

false

$.a>0

true

0<$.a

true

$.a>=1

true

$.a!=2

true

$.b.b1

true

$.b.b1==true

true

$.b.b1==false

false

$.b.b2=="ready"

true

$.b.b2==

true

$.b.b2=="inprogress"

false

$.a==1 && $.b.b1

true

$.a==1 || $.b.b1

true

$.a==2 && $.b.b1

false

$.a==2 || $.b.b1

true

$.c[0]==1

true

$.c[0]==$.a

true