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