在步进函数的参数中包含日期时间 params.json

Including datetime in parameter for step function params.json

我有一部分 params.json 输入用于一组步进函数,我想修改一些参数以包含在输入参数中呈现的日期时间。

"Predictor": {
    "PredictorName": "normal_name_/*DATETIME HERE*/",
    "ForecastHorizon": 181,
    . . . 
    },

我目前是通过在函数的第一步修改输入参数来实现的,但是这是有问题的,因为每次我 运行 它都会重新呈现日期时间,我想“锁定”创建步骤函数执行时的日期。这可能吗?

这可以在状态机定义本身中完成。执行的开始时间可作为来自 Context Object. Using the intrinsic function States.Format 的 IS0 8601 字符串获得,在传递任务中将 date-time 与您的姓名前缀连接起来。

"TimestampNamePass": {
  "Type": "Pass",
  "ResultPath": "$.Predictor",
  "Parameters": {
    "Name.$": "States.Format('normal_name_{}', $$.Execution.StartTime)"
  },
  "Next": "Success"
},

"Predictor": {
    "PredictorName.$": "$.Predictor.Name",
    "ForecastHorizon": 181,
    . . . 
    }, 

TimestampNamePass 输出:

{
  "Comment": "Insert your JSON here",
  "Predictor": {
    "Name": "normal_name_2022-01-27T14:09:19.196Z"
  }
}