翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
マップワークフローの状態
Map
状態を使用して、データセット内の各アイテムに対して一連のワークフローステップを実行します。Map
状態の反復は並行して実行されるため、データセットを迅速に処理できます。 Map
状態は、JSON配列、Amazon S3 オブジェクトのリスト、CSVファイルなど、さまざまな入力タイプを使用できます。
Step Functions には、ワークフローで Map
状態を使用するための処理モードとして、インラインモードと分散モードの 2 種類の処理モードがあります。
ヒント
Map
状態を使用するワークフローの例を にデプロイするには AWS アカウント、「モジュール 5 - の選択状態とマップ状態
マップステート処理モード
Step Functions には、データセット内の項目の処理方法に応じて、Map
状態に対して次の処理モードが用意されています。
-
インライン - 制限付き同時実行モード。このモードでは、
Map
状態のそれぞれの反復は、Map
状態を含むワークフローのコンテキストで実行されます。Step Functions は、これらの反復の実行履歴を親ワークフローの実行履歴に追加します。デフォルトでは、Map
状態はインラインモードで実行されます。このモードでは、
Map
状態はJSON配列のみを入力として受け入れます。また、このモードでは最大 40 回の同時反復がサポートされています。詳細については、「Step Functions ワークフローでのインラインモードでのマップ状態の使用」を参照してください。
-
分散 - 高い並列性を持つモード。このモードでは、
Map
状態は各反復を子ワークフロー実行として実行します。これにより、最大 10,000 件という高い並列性を持つの並列子ワークフロー実行が可能になります。それぞれの子ワークフローの実行には、親ワークフローとは別の実行履歴があります。このモードでは、
Map
状態はJSON配列または CSV ファイルなどの Amazon S3 データソースを入力として受け入れることができます。詳細については、「分散モード」を参照してください。
使用するモードは、データセット内の項目の処理方法によって異なります。ワークフローの実行履歴が 25,000 エントリを超えない場合や、同時反復が 40 回以上必要ない場合は、Map
状態をインラインモードで使用します。
次の条件を満たす大規模な並列ワークロードをオーケストレーションする必要がある場合は、並列モードモードの Map
状態を使用します。
データセットのサイズが 256 KB を超えています。
ワークフローの実行イベント履歴が 25,000 エントリを超えています。
40 回以上の反復処理の同時実行が必要です。
インラインモードと分散モードの違い
次の表は、インラインモードと分散モードの違いを中心に示しています。
インラインモード | 分散モード |
---|---|
Supported data sources | |
ワークフローの前のステップから渡されたJSON配列を入力として受け入れます。 |
入力として次のデータソースを受け取ります。
|
Map iterations | |
このモードでは、 |
このモードでは、 |
Maximum concurrency for parallel iterations | |
最大 40 回の反復を可能な限り同時に実行できます。 |
子ワークフローを最大 10,000 回並列で実行して、数百万件のデータ項目を一度に処理できます。 |
Input payload and event history sizes | |
入力ペイロードサイズを 256 KB、実行イベント履歴に 25,000 エントリという制限を適用します。 |
このモードでは、 |
Monitoring and observability | |
ワークフローの実行履歴は、コンソールから、または CloudWatch および X-Ray を使用して実行履歴を表示することもできます。 |
分散モードで 詳細については、「Step Functions での分散マップ実行の実行の表示」を参照してください。 |