如何使用基于SQS队列的SNS触发Lambda函数

时间:2016-12-15 11:57:09

标签: amazon-web-services aws-lambda amazon-sqs amazon-sns

我正在使用Lambda函数将消息推送到SQS队列。将消息放入SQS队列后,我需要触发其他Lambda函数来处理队列中的消息。

我认为我们可以使用SNS实现。我是AWS服务的新手,请在SNS的帮助下建议基于SQS队列消息触发Lambda功能的解决方案。

2 个答案:

答案 0 :(得分:0)

您之间不需要SNS层。 从你的第一个Lambda做两件事

  1. 在SQS和
  2. 中发送消息
  3. 触发将处理事件的Lambda
  4. 出于好奇,你为什么要把信息传递给SQS。如果您的处理很简单,那么您可以直接处理第一个lambda函数本身的消息。

    这样可以节省SQS以及其他Lambda

    的成本

答案 1 :(得分:0)

我认为这取决于处理邮件的紧迫性。如果要处理Realtime中的所有消息,请将它们发送给SNS并将Lambda订阅到该主题。

另一种情况可能是您实时处理消息,并且由于某些依赖性而经常发生任何故障,然后在这种情况下将其发送到SQS并稍后通过Lambda轮询进行处理。

在所有这些情况下,Lambdas触发非常灵活,您可以直接订阅您的lambda到SNS主题进行处理。您还可以安排lambda以cron为基础运行它(在轮询和处理SQS消息的情况下很有用)