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

CloudFlow:並列ステップ

最終更新日:Jan 12, 2025

このトピックでは、並列ステップと関連する例について説明します。

概要

並列ステップは、複数の子ステップを並列に実行するために使用されます。並列ステップは複数のブランチを定義し、各ブランチには一連のシリアルステップが含まれています。

並列ステップの各ブランチはローカル変数に対応します。並列ステップが実行されると、すべてのブランチのシリアルステップが同時に実行されます。これらのシリアルステップは、ブランチに対応するローカル変数を変更します。すべてのブランチが実行された後、出力マッピングを使用して、ブランチのローカル変数配列を並列ステップの出力に変換できます。

説明 並列ステップのブランチの最大数は 100 です。

並列ステップには、次の属性が含まれています。

  • type: 必須。ステップタイプ。値 parallel は、ステップが並列ステップであることを示します。
  • name: 必須。ステップ名。
  • branches: 必須。配列型の複数のブランチ。各要素はブランチに対応します。
    • steps: 必須。ブランチに定義された複数のシリアルステップ。
  • end: オプション。現在のステップが終了した後、後続のステップに進むかどうかを指定します。
  • inputMappings: オプション。入力マッピング。
  • outputMappings: オプション。出力マッピング。このステップでは、$local は配列です。配列の各要素は、各ブランチの実行結果を記録する JSON オブジェクトです。
    説明 出力マッピングが指定されていない場合、このステップはデフォルトで出力されません。

次のサンプルフローは、並列ステップを定義しています。この並列ステップには 2 つのブランチが含まれており、各ブランチにはパスステップが含まれています。

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 の出力は次のとおりです。
    {
      "result": "pass1"
    }          
  • pass2 の出力は次のとおりです。
    {
      "result": "pass2"
    }           
  • myparallel の出力は次のとおりです。
    {
      "result": ["pass1", "pass2"]
    }