我有一个AWS Lambda函数可从SQS队列中读取。Lambda逻辑基本上是从SQS读取一条消息,然后处理并删除该消息。读取消息的代码类似。
ReceiveMessageRequest messageRequest =
new ReceiveMessageRequest(queueUrl).withWaitTimeSeconds(5).withMaxNumberOfMessages(1);
现在我的问题是触发此Lambda的最佳方法是什么,例如,如何扩展Lambda,如果说队列中有1000条消息,那么将有1000个Lambda运行在一起,因为在我的情况下,一个Lambda可以读取队列中只有一条消息。
有关此类设计的最佳做法的任何指示。
现在,您最好的选择可能是设置一个AWS Cloudwatch事件规则,该规则在所需的时间间隔调用lambda函数。
这是AWS的一个示例应用程序,用于执行此操作:
https://github.com/awslabs/aws-serverless-sqs-event-source
我确实相信AWS最终将支持SQS作为AWS Lambda的事件类型,这应该使它更加容易,但是现在您最好的选择可能是我上面链接的代码的版本。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句