【问题标题】:Including datetime in parameter for step function params.json在步骤函数 params.json 的参数中包含日期时间
【发布时间】:2022-01-27 22:26:22
【问题描述】:

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

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

我目前正在通过在函数的第一步中修改输入参数来做到这一点,但是这是有问题的,因为每次运行它都会重新渲染日期时间,我想将日期“锁定”为每当创建步进函数执行时。这可能吗?

【问题讨论】:

    标签: python json serverless aws-step-functions aws-sam


    【解决方案1】:

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

    "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"
      }
    }
    

    【讨论】:

    • 这太完美了,非常感谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多