Как передать аргументы из AWS Lambda в AWS Step Function? - PullRequest
0 голосов
/ 12 апреля 2019

У меня есть лямбда-код, написанный на Python 3.6

  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
            )

Теперь моя цель - передать аргументы, то есть proc, env и функцию source в step во время start_execution.

Как я могу это сделать и перехватить аргументы внутри функции шага, чтобы в свою очередь она снова могла передать эти параметры последовательности шагов внутри нее?

Ответы [ 2 ]

0 голосов
/ 16 апреля 2019

В input_json у меня есть {"env": "dev", "proc": "load"}, эти два параметра должны быть проанализированы в следующем шаге. Лямбда-код.

0 голосов
/ 13 апреля 2019

при условии, что у вас есть базовое понимание функций шага вы должны возвращать объект json, если хотите передать несколько аргументов функции step.

...