I know its no where as clean, but may be able just generate a AWS::Lambda::EventSourceMapping resource. From their could populate the needed SQS information.
Fair enough. So for FIFO we are still left with cron lambdas. I read you tests I want to run it for more than 5000 queues same way and see if its still processing successfully without failures. Based on your example it need to scale without issues. Thanks for article.
How important is processing order? If you can scale up your consumers, the order differences will probably be fairly minimal since they process so quickly.
Iām using a FIFO queue in one of my apps now that I trigger with CloudWatch, and then trigger again at the end of every invocation until the queue is drained. I really hate the way it works, so Iām thinking about using SQS triggers and keeping the concurrency low to minimize the impact on order. I need to run some tests, but if it works, it will be so much cleaner.
I cannot speak for other peopleās use cases, but I have numerous ETL scripts where order is imperative and FIFO queues are required. That being said, I can imagine there are plenty of other people, also doing ETL work where FIFO queues are required. In these cases, since they are out-of-band ETL processes, the order is more important than the performance.
Yeah Jeremy theres a sub cases that Im facing too that the order is very important here and ruining the order under high loads of queues will give catastrophic results on the apps. So I donāt know if your approach will work for me as the apps must to work stable no mater the scale of the app is. Thats why I love Serverless architecture.
I get that processing order is sometime imperative. I think the use case for SQS triggers doesnāt really make a lot of sense in those cases. If āspeedā isnāt an issue, then perhaps CloudWatch schedule or log triggers are the right way to go.
Looking at the documentation for AWS SQS, I saw that FIFO queues donāt support Lambda function triggers. Since this is an AWS limitation, I am now not going to expect SLS to solve it. It just wouldnāt make sense ⦠but at least there are couple of work arounds