【发布时间】:2022-02-10 19:36:16
【问题描述】:
我们可以使用“$$.State.EnteredTime”在 AWS Step 函数中引用当前时间,但这给出了 ISO 格式。有没有办法获得 Epoch 秒/毫秒?我想在此基础上在 DynamoDB 中添加 TTL 值。
这可能吗?还是我必须仅为时间戳调用 Lambda 函数?
【问题讨论】:
标签: amazon-web-services serverless aws-step-functions
我们可以使用“$$.State.EnteredTime”在 AWS Step 函数中引用当前时间,但这给出了 ISO 格式。有没有办法获得 Epoch 秒/毫秒?我想在此基础上在 DynamoDB 中添加 TTL 值。
这可能吗?还是我必须仅为时间戳调用 Lambda 函数?
【问题讨论】:
标签: amazon-web-services serverless aws-step-functions
这需要Lambda Invoke Task。一小部分值转换(例如字符串插值、JSON 解析)由 Intrinsic Functions 本地处理。然而,大多数值转换,包括日期操作,都需要像 Lambda 这样的外部任务资源。
"EpochExecutionTimeLambda": {
"Type": "Task",
"ResultPath": "$.epoch",
"Resource": "arn:aws:lambda:us-east-1:...",
"Parameters": {
"dateTime.$": "$$.State.EnteredTime"
}
lambda 处理程序当然是微不足道的:
exports.handler = async (event) => new Date(event.dateTime).valueOf()
【讨论】: