翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Wait ワークフロー状態
ステートの管理とデータの変換
変数を使用したステート間のデータ受け渡しと JSONata を使用したデータ変換について説明します。
Wait 状態 ("Type": "Wait") は、ステートマシンの続行を指定された時間遅延させます。相対時間 (状態が開始してからの秒数で指定) と絶対時間 (タイムスタンプで指定) のいずれかを選択できます。
共通状態フィールドに加えて、Wait 状態には次のいずれかのフィールドがあります。
-
Seconds -
Nextフィールドで指定された状態の開始を待機する時間 (秒)。時間は 0 〜 99999999 の整数値で指定する必要があります。JSONata ステートでは、代わりに、その範囲の整数に必ず評価される JSONata 式を指定できます。 -
Timestamp -
Nextフィールドで指定された状態の開始を待機する絶対時間。タイムスタンプは、ISO 8601 の RFC3339 プロファイルに従う必要があります。ただし、大文字の
Tによって日付部分と時刻部分を区切り、大文字のZによって数値のタイムゾーンオフセットが存在しないことを示す必要があるという追加の制限があります。例えば、2024-08-18T17:33:00Zなどです。JSONata ステートでは、前述の要件に準拠した文字列を結果として返す JSONata 式を指定できます。
注記
現在、待機時間をタイムスタンプとして指定すると、Step Functions は時間値を最大秒と見なし、ミリ秒を切り捨てます。
-
SecondsPath(オプション、JSONPath のみ) -
ステートの入力内のデータから整数値へのパス。次のステートに進むまで待機する時間を秒単位で指定します。
-
TimestampPath(オプション、JSONPath のみ) -
ステートの入力内のデータから絶対日時 (タイムスタンプ) へのパス。次のステートに進むまで待機する日時を指定します。
注記
Seconds、Timestamp、SecondsPath、または TimestampPath のいずれかちょうど 1 つを指定する必要があります。また、標準ワークフローとエクスプレスワークフローに指定できる最大待機時間は、それぞれ 1 年と 5 分です。
待機状態の例
例えば、次の Wait 状態はステートマシンに 10 秒の遅延を導入します。
"wait_ten_seconds": {
"Type": "Wait",
"Seconds": 10,
"Next": "NextState"
}
次の例では、Wait ステートは絶対時間 2024 年 3 月 14 日午前 1:59 (UTC) まで待機します。
"wait_until" : {
"Type": "Wait",
"Timestamp": "2024-03-14T01:59:00Z",
"Next": "NextState"
}
待機時間をハードコードする必要はありません。例えば、以下の入力データがあるとします。
{
"expirydate": "2024-03-14T01:59:00Z"
}
リファレンスパスStep Functions の入力および出力処理を使用して入力データから選択することで、値「expirydate」を入力データから選択できます。
"wait_until" : {
"Type": "Wait",
"TimestampPath": "$.expirydate",
"Next": "NextState"
}