

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

# Wait ワークフロー状態
<a name="state-wait"></a>

**ステートの管理とデータの変換**  
[変数を使用したステート間のデータ受け渡し](workflow-variables.md)と [JSONata を使用したデータ変換](transforming-data.md)について説明します。

`Wait` 状態 (`"Type": "Wait"`) は、ステートマシンの続行を指定された時間遅延させます。相対時間 (状態が開始してからの秒数で指定) と絶対時間 (タイムスタンプで指定) のいずれかを選択できます。

[共通状態フィールド](statemachine-structure.md#amazon-states-language-common-fields)に加えて、`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 のみ) **  
ステートの入力内のデータから整数値への[パス](concepts-input-output-filtering.md)。次のステートに進むまで待機する時間を秒単位で指定します。

** `TimestampPath` (オプション、JSONPath のみ) **  
ステートの入力内のデータから絶対日時 (タイムスタンプ) への[パス](concepts-input-output-filtering.md)。次のステートに進むまで待機する日時を指定します。

**注記**  
`Seconds`、`Timestamp`、`SecondsPath`、または `TimestampPath` のいずれかちょうど 1 つを指定する必要があります。また、標準ワークフローとエクスプレスワークフローに指定できる最大待機時間は、それぞれ 1 年と 5 分です。

## 待機状態の例
<a name="wait-state-example"></a>

例えば、次の `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 の入力および出力処理](concepts-input-output-filtering.md)を使用して入力データから選択することで、値「expirydate」を入力データから選択できます。

```
"wait_until" : {
    "Type": "Wait",
    "TimestampPath": "$.expirydate",
    "Next": "NextState"
}
```