It will be easier to understand if you look at the image:
I am coding using AWS Lambda in node.js.
exports.handler = async (event) => { const payload = 'hello from lambda 1'; const params = { FunctionName: 'lambda2', InvocationType: 'Event', Payload: JSON.stringify(payload), }; const LambdaPromise = (params) => lambda.invoke(params).promise(); const responseFromLambda2 = await LambdaPromise(params); return responseFromLambda2; //this should return {StatusCode: 202, Payload: ''} };
I tried referring to the code above, but it failed.
A lambda
invokes B lambda
. And B lambda
invokes many C lambdas
asynchronously.
How do I know that B lambda
ends with C lambdas
?
I can’t do this so Lambda A
doesn’t know if lambda B
did its job properly.
Advertisement
Answer
The scenario you describe is ideal for AWS Step Functions:
Step Functions is a serverless orchestration service that lets you combine AWS Lambda functions and other AWS services to build business-critical applications. Through Step Functions’ graphical console, you see your application’s workflow as a series of event-driven steps.