当SQS队列中存在消息时,触发AWS中的lambda函数



我正在使用AWS lambda函数来处理队列中的消息正常工作。但是我需要在消息可用时执行此lambda功能或在SQS队列中添加。

是否可以基于SQS队列触发Lambda功能。请建议一种实现此目标的方法。

不直接支持从SQS队列中调用lambda函数。您可以在此处查看可用触发器的列表:http://docs.aws.amazon.com/lambda/latest/dg/invoking-lambda-function.html

可能的解决方案:

  1. 用运动员或DynamoDB替换SQS队列。两者都可以在更新上触发lambda功能。
  2. 在SQS之前注入SNS。SNS可以将项目添加到SQS 触发lambda函数。

如果您不需要接近实时处理,这两个选项也有效:

  1. 创建CloudWatch事件规则,该规则将每n分钟触发lambda功能(例如每分钟)。
  2. 创建CloudWatch警报观看SQS队列的ApproximateNumberOfMessagesVisible参数。此警报应发布到SNS主题,该主题又将触发lambda函数。

lambda现在支持SQS作为本机事件源

https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html

最新更新