Can't trigger lambda's on SQS FIFO

China☆狼群 提交于 2019-12-18 14:00:55

问题


I am trying to trigger lambda execution to execute an item on a FIFO queue. Other than polling, what options do we have to accomplish that? We just learned that we cannot directly trigger a lambda execution from a FIFO queue, which is only supported from the standard queue at this time. I also learned that we cannot subscribe an SNS topic to a FIFO queue – which is only supported on the standard queue as well.

Has anybody found a work around for this yet until Amazon releases an update?


回答1:


Your only option here is to poll the queue at certain intervals.

You can create a CloudWatch event trigger that invokes a lambda function (lets say every 10 minutes) which polls the queue and does the processing.

Update

This is now possible. SQS FIFO queues can now be specified as an event source to your SQS FIFO queues.

https://aws.amazon.com/blogs/compute/new-for-aws-lambda-sqs-fifo-as-an-event-source/




回答2:


For anyone that is interested AWS Now Supports Lambda Triggers from FIFO SQS as of yesterday. Thanks @JohnRotenstein for pointing that out.




回答3:


SQS event sourcing does not do anything than pulling queue every second with long polling.

If you want everything in order; - Create a Cloudwatch event trigger for every second (as Asdfg suggested) - Set concurrency limit to 1 - Receive messages with long polling to reduce the cost



来源:https://stackoverflow.com/questions/53416890/cant-trigger-lambdas-on-sqs-fifo

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!