すべてのプロダクト
Search
ドキュメントセンター

CloudFlow:概要

最終更新日:Jan 12, 2025

このトピックでは、Flow Definition Language(FDL)の基本と関連する例について説明します。

基本

FDLは、ビジネスロジックを記述および定義するために使用されます。フローが実行されると、サーバーレスワークフロー サービスは、フロー定義に基づいてステップを順番に実行します。FDLでは、フローには通常、複数のステップが含まれています。これらのステップは、tasksucceedfailwaitpass ステップなどの単純なアトミックステップ、または choiceparallelforeach ステップなどの複雑な制御ステップです。これらのステップを組み合わせて、複雑なビジネスロジックを構築できます。たとえば、並列ステップのブランチは、一連のシリアルステップである場合があります。ステップの実行中にエラーが発生する可能性がありますが、FDLは retry 機能と catch 機能を提供します。

FDLのステップはプログラミング言語の関数に似ており、ステップの組み合わせは関数呼び出しに似ています。データは、入力と出力を通じてステップ間で渡されます。ローカル変数は、ステップのデータを格納するために使用されます。ステップに別のステップが含まれている場合、外側のステップは親ステップと呼ばれ、含まれているステップは子ステップと呼ばれます。

フローを定義するときは、次の操作を実行できます。
  • pass ステップを使用して、プレースホルダー計画フローの基本構造を構築します。
  • task ステップを使用して、関数計算サービスの関数を呼び出します。
  • wait ステップを使用して、フローを一定期間中断します。
  • choice ステップを使用して、異なる実行パスを定義します。
  • succeed ステップまたは fail ステップを使用して、フローを事前に終了します。
  • parallel ステップを使用して、複数のブランチを並列に実行します。
  • foreach ステップを使用して、配列データを並列処理します。

フローには、次の属性が含まれています。

  • version: 必須。フローバージョン。v1 のみがサポートされています。
  • type: 必須。フロータイプ。
  • steps: 必須。フロー内の複数のシリアルステップ。ステップが正常に実行されると、次のステップが開始されます。フローを事前に停止するには、end 属性を使用するか、succeed ステップまたは fail ステップを実行します。
  • inputMappings: オプション。入力マッピング。入力マッピングで参照される $input は、入力StartExecution APIリクエストの パラメーターです。
  • outputMappings: オプション。出力マッピング。出力マッピングで参照される $local は、各シリアルステップの実行結果を記録する JSON オブジェクトです。
    説明 出力マッピングが指定されていない場合、$local が最終的なフロー出力として使用されます。
  • timeoutSeconds: オプション。フローのタイムアウト期間。フローの実行時間が指定されたタイムアウト期間を超えると、フローはタイムアウトになります。

  • 次のサンプルフローは、関数計算の関数を呼び出す task ステップで構成されています。
    version: v1
    type: flow
    steps:
      - type: task
        name: hello
        resourceArn: acs:fc:{region}:{accountID}:services/fnf_test/functions/hello      
  • 次のサンプルフローは、2 つのステップ(step1step4)で構成されており、step1 には 2 つの子ステップ(step2step3)が含まれています。
    version: v1
    type: flow
    steps:
      - type: parallel
        name: step1
        branches:
          - steps:
            - type: pass
              name: step2
          - steps:
            - type: pass
              name: step3
      - type: pass
        name: step4       

参照

FDL 機能の詳細については、以下のトピックを参照してください。