How to Trigger a Step Function from SNS Without Using EventBridge Pipes?
Asked by
TechSavvy92
I'm trying to set up an event-driven architecture to trigger jobs in an AWS Step Function. We have a team sending JSON data to Amazon SNS, and I need to use that to trigger the Step Function. The challenge I'm facing is that the only available method seems to be: SNS -> SQS -> EventBridge Pipe -> Step Function. However, my organization prefers not to use EventBridge Pipes. Does anyone have suggestions on how to work around this?
Answers
We often use Lambda to trigger our Step Functions directly from SNS. Itโs a straightforward solution if your organization isnโt keen on using EventBridge Pipes, since SNS canโt trigger Step Functions by itself.
Reply to this answer
You might want to consider setting up an AWS Lambda function as a trigger between SNS and the Step Function. Itโs quite easy to do and only requires about 10 lines of code in Python! This way, the Lambda can invoke the Step Function directly using the JSON from SNS.
Reply to this answer
If your organization is against using EventBridge Pipes, the best workaround is to use a Lambda function as a proxy to invoke the Step Function. Alternatively, you could try explaining to your team why pipes might be beneficial and necessary.
Reply to this answer
If you're looking for another route, you could set up an API Gateway endpoint to trigger the Step Function. Then, just have SNS call the API Gateway. It's a bit of a convoluted approach, and might not be as secure as using EventBridge Pipes, but it's an option.
Reply to this answer
Add your answer
Answers are reviewed before publication.
Related Discussions