SNS 主题和 Lambda
SNS Topics and Lambda
我现在需要处理一些来自 SNS 主题的通知。我正在考虑在 Lambda 函数中处理此消息。
我必须牢记实施
- 将 Lambda 函数订阅到主题并处理通知
- 为主题订阅 SQS 队列 (Fifo),然后订阅 Lambda 函数
将根据队列中的通知调用。
消息的顺序是为消费者应用程序导入的。牢记这一点,哪个似乎是更好的实现。任何 pointers/explanation 都会有所帮助。
这听起来更像是多个独立的消息流。因此,如果 EC2-1 的 created
事件先于 EC2-2 的事件出现,那确实没有问题。在那种情况下,我会坚持使用 SNS -> Lambda 方法,因为 SQS 方法需要轮询队列。如果 Lambda 未被使用,它不会产生任何费用,但您(最终)将因 SQS 轮询而被收费。
有很多关于如何处理传入消息的示例。例如,在 Java 中,您可以使用 POJO handlers (a plain old java object for which Lambda has done the deserialization for you or you could used predefined objects,在这种情况下,它是特定于 SNS 的。
您可以将 SQS FIFO 队列订阅到 SNS FIFO 主题。然后,您可以让队列按顺序触发 Lambda 函数。这是一个例子:https://docs.aws.amazon.com/sns/latest/dg/fifo-example-use-case.html
我现在需要处理一些来自 SNS 主题的通知。我正在考虑在 Lambda 函数中处理此消息。 我必须牢记实施
- 将 Lambda 函数订阅到主题并处理通知
- 为主题订阅 SQS 队列 (Fifo),然后订阅 Lambda 函数 将根据队列中的通知调用。
消息的顺序是为消费者应用程序导入的。牢记这一点,哪个似乎是更好的实现。任何 pointers/explanation 都会有所帮助。
这听起来更像是多个独立的消息流。因此,如果 EC2-1 的 created
事件先于 EC2-2 的事件出现,那确实没有问题。在那种情况下,我会坚持使用 SNS -> Lambda 方法,因为 SQS 方法需要轮询队列。如果 Lambda 未被使用,它不会产生任何费用,但您(最终)将因 SQS 轮询而被收费。
有很多关于如何处理传入消息的示例。例如,在 Java 中,您可以使用 POJO handlers (a plain old java object for which Lambda has done the deserialization for you or you could used predefined objects,在这种情况下,它是特定于 SNS 的。
您可以将 SQS FIFO 队列订阅到 SNS FIFO 主题。然后,您可以让队列按顺序触发 Lambda 函数。这是一个例子:https://docs.aws.amazon.com/sns/latest/dg/fifo-example-use-case.html