8

在 aws-step 函数文档中,似乎可以编写一个“选择”状态来比较当前状态的变量。但是,是否可以编写引用当前时间的时间戳比较?例如,假设我希望在我的状态$.myTime属性中TimestampGreaterThan的时间为[current time]. 例如:

{
   "Variable": "$.myTime",
   "TimestampGreaterThan": "<the current time>",
   "Next": "MyTimeSpecificState"
}

是否可以参考当前时间,还是我必须在单独的任务中手动设置状态?

4

2 回答 2

7

是的,目前(截至 2020 年)可以使用上下文对象($$),方法如下:

{
   "Variable": "$.myTime",
   "TimestampGreaterThan": "$$.State.EnteredTime",
   "Next": "MyTimeSpecificState"
}

这是 AWS Step Functions 开发人员指南的链接:上下文对象

于 2020-08-25T11:26:59.323 回答
5

您不能在状态选择比较中直接引用当前时间戳。有几种方法可以解决这个问题。

  • 您可以返回与上一个任务的当前时间戳匹配的结果,而不是返回“myTime”。(首选)
  • 使用新任务返回 myTime 是否与当前时间戳匹配并返回结果。
于 2017-09-28T04:33:43.307 回答