如何将参数从AWS Lambda传递给AWS Step Function?

时间:2019-04-12 09:54:33

标签: amazon-web-services aws-lambda aws-step-functions

我有一个用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函数中的参数,以便依次将这些参数传递给其中的步骤序列?

2 个答案:

答案 0 :(得分:0)

假设您对步骤功能有基本的了解。如果要将多个参数传递给step函数,应该返回一个json对象。

答案 1 :(得分:0)

在input_json中,我有{“ e​​nv”:“ dev”,“ proc”:“ load”},这两个参数必须在下一步Lambda代码中进行解析。