使用Wait State可以在流程中进行时间控制,加入延时处理、定时处理等功能
进入Step Functions服务,创建新的State machine:

workflow的JSON更新成如下:
{
"StartAt": "Wait 3 Seconds",
"States": {
"Wait 3 Seconds": {
"Type": "Wait",
"Seconds": 3,
"Next": "Dynamic Wait"
},
"Dynamic Wait": {
"Type": "Wait",
"TimestampPath": "$.waitUntilTimestamp",
"Next": "Wait Until Hard Coded"
},
"Wait Until Hard Coded": {
"Type": "Wait",
"Timestamp": "2050-01-01T00:00:01Z",
"End": true
}
}
}
此workflow的流程如下:
在Wait 3 Seconds阶段,先等待3秒
在Dynamic Wait阶段,等待到传入的时间值(例如2022-01-01T00:00:01Z)后再执行下一阶段
再wait到设置的时间值(2050-01-01T00:00:01Z)。
渲染效果如下:

进入下一步,将state machine命名为wait-test,其他选项保持默认,点击创建:

创建完成后,新建一个Execution:

测试的Input如下, waitUntilTimestamp建议设置为当前时间点往后加两分钟(注意是0时区的时间):
{
"waitUntilTimestamp": "2022-02-02T02:02:02Z"
}

执行后,先等待3秒,再进行Dynamic Wait阶段:

最后进入Wait Until Hard Coded阶段:
