【问题标题】:can we pass a dynamic variable to aws step functions on execution?我们可以在执行时将动态变量传递给 aws step 函数吗?
【发布时间】:2020-11-02 11:12:25
【问题描述】:

我正在使用步进函数data science SDK using python。我有一个每天运行的任务,并且在步骤函数的某些步骤中要访问的数据的路径每天都在变化,因为它具有日期参数。

执行 step 函数时如何传递 date 参数和 使用它,这样我就可以每天自动访问新数据。

这是我添加到工作流中的步骤示例。


etl_step = steps.GlueStartJobRunStep(
    'Extract, Transform, Load',
    parameters={"JobName": execution_input['GlueJobName'],
                "Arguments":{
                    '--S3_SOURCE': data_source,
                    '--S3_DEST': 's3a://{}/{}/'.format(bucket, project_name),
                    '--TRAIN_KEY': train_prefix + '/',
                    '--VAL_KEY': val_prefix +'/'}
               }
)

我想将日期变量添加到 S3_DEST。如果我使用 execution_input,则类型不是字符串,因此我无法将其连接为路径。

【问题讨论】:

    标签: amazon-web-services aws-step-functions serverless-framework-step-functions


    【解决方案1】:

    编辑

    如果日期是 datetime 对象,您可以使用 datetime.strftime('%Y-%m-%d')` 将其输出为字符串。

    原创

    Step 函数支持将input 插入其中。

    如果您使用的是SDK for start_execution,那么您可以使用输入参数。

    如果您有 CloudWatch 事件,您可以从控制台指定一个常量。

    【讨论】:

    • 如何在步进函数的 python 配置代码中读取和使用该输入?
    • 如何在 Step 函数中设置 Python 配置代码?是 Lambda 吗?
    • 我已经更新了如何将日期时间对象转换为字符串的答案
    • 它是ExecutionInput类型
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-24
    • 2019-06-13
    • 1970-01-01
    • 2017-09-04
    • 1970-01-01
    • 2023-03-20
    相关资源
    最近更新 更多