このトピックでは、並列ステップと関連する例について説明します。
概要
並列ステップは、複数の子ステップを並列に実行するために使用されます。並列ステップは複数のブランチを定義し、各ブランチには一連のシリアルステップが含まれています。
並列ステップの各ブランチはローカル変数に対応します。並列ステップが実行されると、すべてのブランチのシリアルステップが同時に実行されます。これらのシリアルステップは、ブランチに対応するローカル変数を変更します。すべてのブランチが実行された後、出力マッピングを使用して、ブランチのローカル変数配列を並列ステップの出力に変換できます。
説明 並列ステップのブランチの最大数は 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"] }