Tous les produits
Search
Centre de documentation

CloudFlow:Introduction

Dernière mise à jour :Aug 26, 2026

Cette rubrique présente les principes de base du langage Flow Definition Language (FDL) et fournit des exemples d'utilisation.

Principes de base

Le langage Flow Definition Language (FDL) définit la logique métier. Lors de l'exécution d'un flux, le service Serverless Workflow exécute les étapes séquentiellement selon la définition du flux. Dans le FDL, un flux contient des étapes. Celles-ci peuvent être des étapes atomiques simples, telles que task, succeed, fail, wait et pass. Elles peuvent également être des étapes de contrôle complexes, comme choice, parallel et foreach. Combinez ces étapes pour construire une logique métier complexe. Par exemple, une branche d'une étape parallèle peut être constituée d'une séquence d'étapes. Si une étape rencontre une erreur lors de son exécution, le FDL propose les fonctionnalités retry et catch pour la gérer.

Les étapes du FDL sont similaires aux fonctions d'un langage de programmation. Combiner des étapes s'apparente à invoquer des fonctions. Les données transitent entre les étapes via des entrées et des sorties. Chaque étape utilise des variables locales pour stocker les données. Si une étape en contient une autre, l'étape externe est l'étape parent et l'étape interne est l'étape enfant.

Pour définir un flux, utilisez les étapes suivantes :

  • Utilisez une étape pass comme espace réservé pour planifier la structure de base du flux.

  • Utilisez une étape task pour appeler une fonction dans Function Compute.

  • Utilisez une étape wait pour suspendre l'exécution du flux pendant une période donnée.

  • Utilisez une étape choice pour définir différents chemins d'exécution.

  • Utilisez une étape succeed ou fail pour interrompre prématurément le flux.

  • Utilisez une étape parallel pour exécuter plusieurs branches en parallèle.

  • Utilisez une étape foreach pour traiter des données de type tableau en parallèle.

Un flux possède les propriétés suivantes :

  • version (obligatoire) : version du flux. Seule la version v1 est prise en charge.

  • type (obligatoire) : type de la définition. Définissez cette valeur sur flow.

  • steps (obligatoire) : séquence d'étapes du flux. Lorsqu'une étape s'exécute avec succès, l'étape suivante de la séquence se lance. Pour terminer le flux prématurément, utilisez la propriété end d'une étape, ou bien une étape succeed ou fail.

  • inputMappings (facultatif) : mappage d'entrée. La variable $input référencée dans le mappage d'entrée correspond au paramètre Input de la requête API StartExecution.

  • outputMappings (facultatif) : mappage de sortie. La variable $local référencée dans le mappage de sortie est un objet JSON qui stocke le résultat d'exécution de chaque étape de la séquence.

    Remarque

    Si vous ne spécifiez pas de mappage de sortie,

    $local

    est utilisé comme sortie finale du flux.

  • timeoutSeconds (facultatif) : délai d'expiration du flux, en secondes. Si la durée d'exécution du flux dépasse le délai d'expiration spécifié, l'exécution expire.

Exemples

  • L'exemple de flux suivant contient une étape task. Cette étape appelle une fonction dans Function Compute.

    version: v1
    type: flow
    steps:
      - type: task
        name: hello
        resourceArn: acs:fc:{region}:{accountID}:services/fnf_test/functions/hello      
  • L'exemple de flux ci-dessous comprend une séquence de deux étapes, step1 et step4. La première étape, step1, est une étape parent qui contient deux étapes enfants, step2 et step3.

    version: v1
    type: flow
    steps:
      - type: parallel
        name: step1
        branches:
          - steps:
            - type: pass
              name: step2
          - steps:
            - type: pass
              name: step3
      - type: pass
        name: step4       

Informations complémentaires

Pour plus d'informations sur les fonctionnalités du langage Flow Definition Language, consultez les rubriques suivantes :