如何在 AWS Step Function 中获取纪元时间

Vik*_*kas 9 amazon-web-services aws-step-functions serverless

我们可以使用“$$.State.EnteredTime”引用AWS Step函数中的当前时间,但这给出了ISO格式。有没有办法获取纪元秒/毫秒?我想基于此在 DynamoDB 中添加 TTL 值。

这可能吗?或者我是否必须仅为时间戳调用 Lambda 函数?

fed*_*nev 12

这需要Lambda Invoke Task。一小组值转换(例如字符串插值、JSON 解析)由内部函数本地处理。然而,大多数值转换(包括日期操作)都需要 Lambda 等外部任务资源。

"EpochExecutionTimeLambda": {
  "Type": "Task",
  "ResultPath": "$.epoch",
  "Resource": "arn:aws:lambda:us-east-1:...",
  "Parameters": {
    "dateTime.$": "$$.State.EnteredTime"
  }
Run Code Online (Sandbox Code Playgroud)

lambda 处理程序当然很简单:

exports.handler = async (event) => new Date(event.dateTime).valueOf()
Run Code Online (Sandbox Code Playgroud)