首页 > 解决方案 > 如何将参数从 AWS Lambda 传递到 AWS Step Function?

问题描述

我有一个用 Python 3.6 编写的 Lambda 代码

  for record in event['Records']:
        filename_from_event = record['s3']['configurationId']
        filename = record['s3']['object']['key']
        bucket = record['s3']['bucket']['name']
        filename_folder = filename[0:filename.rfind("/")]
        filename_key = filename[filename.rfind("/")+1:]
        bucket_arr=bucket.split("-")
        path_arr=filename.split("/")
        proc=path_arr[0].upper()
        env=bucket_arr[2].upper()
        source=path_arr[2].upper()
        src_orch_json=proc+"/Common/Config/"+proc+"_"+source+"_Orch.json"
        input_json = get_step_input(bucket, src_orch_json)
        response = sf.start_execution(
            stateMachineArn='arn:aws:states:abc:stateMachine:xyz',
            name='xyz_' + env + '_' + proc + '_' + source,
            input=input_json
            )

现在,我的目标是在 start_execution 期间将参数(即 proc、env 和 source)传递给 step 函数。

我怎样才能做到这一点并捕获 step 函数中的参数,以便它可以再次将这些参数传递给其中的步骤序列?

标签: amazon-web-servicesaws-lambdaaws-step-functions

解决方案


在 input_json 中我有 {"env":"dev","proc":"load"},这两个参数必须在下一步 Lambda 代码中解析。


推荐阅读