1

I am attempting to find a way to have a Parent Lambda function invoke multiple concurrent parameterized Child Lambda functions, and have another Final Lambda function execute once all of the Child Lambda functions have completed.

The goal is for the Child functions to write data to S3, and for the Final function to import the data from S3 to a database.

Is this possible using Step Functions? If so, how? Is there a better way to approach this?

MJ.
  • 1,269
  • 4
  • 12
  • 24
  • 1
    Does this answer your question? [Parallel States Merge the output in Step Function](https://stackoverflow.com/questions/54105792/parallel-states-merge-the-output-in-step-function) – JD D Sep 29 '20 at 03:35
  • That's close, except I need to be able to dynamically invoke multiple concurrent Child functions using the output of the Parent task, rather than explicitly defining each Child function. – MJ. Sep 29 '20 at 12:49

1 Answers1

2

Yes, it is possible with Step functions. You will need to use a Map state in your state machine.

Here is an AWS Blog post about the Map state that gives examples of it's usage when it was first announced.

JD D
  • 7,398
  • 2
  • 34
  • 53
Pubudu Jayawardana
  • 2,250
  • 1
  • 13
  • 18
  • This looks like it's probably what I need, going to look into it further, thanks! – MJ. Sep 29 '20 at 12:50