Transitions - AWS Step Functions

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Transitions

ステートマシンの新しい実行を開始すると、システムは最上位の StartAt フィールドで参照されている状態で開始されます。このフィールドは文字列として指定され、ワークフロー内の状態の名前と正確に一致する必要があります (大文字と小文字が区別されます)。

状態の実行後、AWS Step Functions は Next フィールドの値を使用して、進むべき次の状態を判断します。

Next フィールドでは、状態名を文字列として指定することもできます。この文字列では大文字と小文字が区別され、ステートマシンの説明で指定されたステートの名前と正確に一致する必要があります。

例えば、次の状態には NextState への移行が含まれています。

"SomeState" : { ..., "Next" : "NextState" }

ほとんどの状態では、Next フィールドによる 1 つの移行ルールのみ許可されます。ただし、特定のフロー制御ステート (Choice ステートなど) では、それぞれ独自の Next フィールドを使用して複数の移行ルールを指定できます。Amazon ステートメント言語では、移行の指定方法など、指定可能な各状態タイプについて詳しく説明されています。

状態には、他の状態からの受信移行を複数指定できます。

プロセスは、終了状態 ("Type": Succeed"Type": Fail、または "End": true の状態) のいずれかに到達するまで繰り返されます。そうでない場合は、ランタイムエラーが発生します。

実行を redrive 実行すると状態遷移とみなされます。さらに、redrive で再実行されるすべての状態も状態遷移とみなされます。

ステートマシン内の状態には次のルールが適用されます。

  • 状態は、囲みブロック内ではどのような順序で発生してもかまいません。ただし、リストに記載されている順序は、実行順序には影響しません。この順序は状態の内容によって決まります。

  • ステートマシン内では、start 状態として指定できるのは 1 つの状態のみです。start 状態は最上位構造内の StartAt フィールドの値によって定義されます。

  • ステートマシンのロジックによっては (ステートマシンに複数のロジックブランチがあるかどうかなど)、複数の状態が存在する可能性があります。

  • ステートマシンが 1 つの状態のみで構成される場合、開始状態と終了状態の両方になることがあります。

分散マップの状態の遷移

Map 状態を分散モードで使用すると、分散マップ状態が開始された子ワークフロー実行ごとに 1 つの状態遷移に対して課金されます。Map 状態をインラインモードで使用すると、状態遷移は、インラインマップ状態が繰り返されるごとには課金されません。

Map 状態を分散モードで使用することによりコストを最適化し、ネストされたワークフローを Map 状態の定義に含めることができます。また、分散マップ状態は、Express タイプの子ワークフロー実行を開始するときに、より高い価値を発揮します。Step Functions は Express の子ワークフロー実行のレスポンスとステータスを保存します。そのため、実行データを CloudWatch Logs に保存する必要がなくなります。エラーしきい値の定義や項目グループのバッチ処理など、分散マップの状態で使用できるフロー制御にアクセスすることもできます。Step Functions の料金情報については、「AWS Step Functions の料金」を参照してください。