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

CloudFlow:はじめに

最終更新日:Aug 27, 2026

このトピックでは、フロー定義言語の基礎について説明し、使用例を紹介します。

基礎

フロー定義言語 (FDL) は、ビジネスロジックを定義します。フローが実行されると、Serverless Workflow サービスは、フロー定義に基づいて順番にステップを実行します。FDL では、フローにステップが含まれます。ステップには、tasksucceedfailwaitpass などの単純なアトミックステップや、choiceparallelforeach などの複雑な制御ステップがあります。これらのステップを組み合わせることで、複雑なビジネスロジックを構築できます。たとえば、parallel ステップのブランチは、ステップのシーケンスにすることができます。実行中にステップでエラーが発生した場合、FDL では retrycatch の機能を使用してエラーを処理します。

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

フローを定義する際、次のステップを使用できます:
  • pass ステップをプレースホルダーとして使用して、フローの基本構造を計画できます。
  • task ステップを使用して、Function Compute の関数を呼び出せます。
  • wait ステップを使用して、指定した期間フローの実行を一時停止できます。
  • choice ステップを使用して、異なる実行パスを定義できます。
  • succeed または fail ステップを使用して、フローを早期に停止できます。
  • parallel ステップを使用して、複数のブランチを並列に実行できます。
  • foreach ステップを使用して、配列データを並列に処理できます。

フローには次のプロパティがあります:

  • version (必須):フローのバージョン。v1 のみがサポートされています。
  • type (必須):定義のタイプ。flow に設定します。
  • steps (必須):フロー内のステップのシーケンス。ステップが正常に実行されると、シーケンス内の次のステップが実行されます。フローを早期に終了するには、ステップの end プロパティを使用するか、succeed または fail ステップを使用します。
  • inputMappings (オプション):入力マッピング。入力マッピングで参照される $input 変数は、StartExecution API リクエストの Input パラメータです。
  • outputMappings (オプション):出力マッピング。出力マッピングで参照される $local 変数は、シーケンス内の各ステップの実行結果を保存する JSON オブジェクトです。
    説明 出力マッピングを指定しない場合、$local がフローの最終出力として使用されます。
  • timeoutSeconds (オプション):フローのタイムアウト期間 (秒単位)。フローの実行時間が指定されたタイムアウト期間を超えると、実行はタイムアウトします。

  • 次のフロー例には、task ステップが含まれています。このステップは、Function Compute の関数を呼び出します。
    version: v1
    type: flow
    steps:
      - type: task
        name: hello
        resourceArn: acs:fc:{region}:{accountID}:services/fnf_test/functions/hello      
  • 次のフロー例には、step1step4 の 2 つのステップからなるシーケンスが含まれています。最初のステップ step1 は、step2step3 という 2 つの子ステップを含む親ステップです。
    version: v1
    type: flow
    steps:
      - type: parallel
        name: step1
        branches:
          - steps:
            - type: pass
              name: step2
          - steps:
            - type: pass
              name: step3
      - type: pass
        name: step4       

詳細情報

フロー定義言語の機能の詳細については、次のトピックをご参照ください: