AWS Step Functions
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

Wait

Wait 状态 ("Type": "Wait") 使状态机延迟指定的时间,然后再继续。您可以选择一个相对时间,指定从状态开始后的秒数;也可以选择以时间戳的方式指定绝对结束时间。

除了常用状态字段之外,Wait 状态还具有以下字段之一。

Seconds

启动 Next 字段中指定状态之前等待的时间,以秒为单位。

Timestamp

一个绝对时间,等到该时间后再启动 Next 字段中指定的状态。

时间戳必须遵循 ISO 8601 的 RFC3339 配置文件,并有进一步的限制,需要使用大写 T 分隔日期和时间部分,大写 Z 必须表示没有数字时区偏移,例如 2016-08-18T17:33:00Z

SecondsPath

启动在 Next 字段中指定的状态所等待的时间,以秒为单位,使用状态输入数据中的路径指定。

TimestampPath

一个绝对时间,等到该时间后再启动在 Next 字段中指定的状态,使用状态输入数据中的路径指定。

注意

您必须且只能指定以下之一:SecondsTimestampSecondsPathTimestampPath

例如,以下 Wait 状态向状态机中引入 10 秒的延迟。

"wait_ten_seconds": { "Type": "Wait", "Seconds": 10, "Next": "NextState" }

在下一个示例中,Wait 状态等待直至绝对时间:2016 年 3 月 14 日下午 1:59 (UTC 时间)。

"wait_until" : { "Type": "Wait", "Timestamp": "2016-03-14T01:59:00Z", "Next": "NextState" }

您不必对等待持续时间进行硬编码。例如,给定以下输入数据:

{ "expirydate": "2016-03-14T01:59:00Z" }

您可以使用引用路径从输入中选择“expirydate”值,以便从输入数据选择该值。

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