I have spend some time evaluating Step functions for a scheduling engine that we are trying to build. My initial understanding is that:
We will build the step function as a series of lambda functions which will be called in sequence. To trigger the step function to run once every night, I would create a CloudWatch event rule. I however have a couple of questions:
a. How would we change the output returned from a first lambda function to an input to a second lambda function. Can we do this in a "Pass" element? I see that the Pass element has ResultPath, Result fields but I am not able to understand how I would implement this if the output of the first lambda function is completely different from the input of the second lambda function. Or it is a recommended practice to write the different lambda functions (in a step function) such that they cannot be used anywhere else?
b. How does the community handle source control for step functions? It is recommended practice to check in the generated source code for the step functions in source control?