AWS Lambda从SQS队列读取

我有一个AWS Lambda函数可从SQS队列中读取。Lambda逻辑基本上是从SQS读取一条消息,然后处理并删除该消息。读取消息的代码类似。

 ReceiveMessageRequest messageRequest =
        new ReceiveMessageRequest(queueUrl).withWaitTimeSeconds(5).withMaxNumberOfMessages(1);

现在我的问题是触发此Lambda的最佳方法是什么,例如,如何扩展Lambda,如果说队列中有1000条消息,那么将有1000个Lambda运行在一起,因为在我的情况下,一个Lambda可以读取队列中只有一条消息。

有关此类设计的最佳做法的任何指示。

EJ布伦南

现在,您最好的选择可能是设置一个AWS Cloudwatch事件规则,该规则在所需的时间间隔调用lambda函数。

这是AWS的一个示例应用程序,用于执行此操作:

https://github.com/awslabs/aws-serverless-sqs-event-source

我确实相信AWS最终将支持SQS作为AWS Lambda的事件类型,这应该使它更加容易,但是现在您最好的选择可能是我上面链接的代码的版本。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章