当SQS从SNS接收到消息后触发AWS Lambda。

3
我面临如何在SQS队列中写入消息后触发Lambda函数的问题,该队列是SNS订阅者。我知道this这篇文章很有用,但我并没有真正理解如何在成功发送第一条消息(主题A)后发布第二条消息(主题B)。 我不知道它是否是正确的答案。下面是我想要实现的图示。

enter image description here

如您所见,有一个API发布到SNS主题。该主题的订阅者应为:
  1. 存储消息的SQS队列
  2. 由SNS触发以消耗写入队列的消息的Lambda函数。
我面临的问题是如何确保在消息被写入队列后执行Lambda,并如何真正实现解决方案。 如何发布两个主题,并从一个主题将消息写入SQS,从另一个主题触发队列(如何确保消息已经有效地写入队列?)。
非常感谢大家, 希望我表述得足够清楚。

有人能帮我吗? - Paride Letizia
这种架构的原因是什么?也就是说,消息在发送到队列后会发生什么?如果您的 Lambda 函数将事件发布到 SQS,这是否是一种替代方案?在这种情况下,您将知道事件何时已发送到 SQS。 - s.hesse
问题在于SQS无法触发Lambda函数,因此我希望SNS先按顺序写入SQS,然后再触发Lambda函数。 - Paride Letizia
好的。您可以阅读这篇教程,该教程提出了使用Lambda函数读取新的SQS条目的解决方案。 - s.hesse
1个回答

0
将Lambda作为订阅者添加到主题中。一旦消息发布到主题,Lambda将被触发。如果您将SQS队列作为主题的订阅者,则消息也将在那里排队。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接