首页 > 解决方案 > 我可以在不使用任何 lambda 的情况下在 sqs 上接收消息后触发事件吗?

问题描述

我试图做一些研发,但我找不到任何有用的东西,我发现唯一的事情是 lambda 函数是唯一的方法。我想编写一个简单的应用程序,在简单队列服务收到任何消息时执行,但直到现在我都找不到这样做的方法,因为我不想使用 lambda。例如,如果我在简单队列服务上收到一些消息,并且在接收每条消息时我可以触发一个不是 lambda 的事件,而不是任何 HTTP 请求。

标签: amazon-web-servicesamazon-ec2aws-lambdaamazon-sqsamazon-sns

解决方案


我认为你的选择是:

  • 使用 lambda (你说你不想使用,但它可能是最好的解决方案)
  • 使用您自己在 ec2 甚至本地运行的应用程序来使用消息并调用 http 端点
  • 使用 SNS 而不是 SQS 进行消息传递 - SNS 支持 http 端点。

您可以使用 Amazon SNS 将通知消息发送到一个或多个 HTTP 或 HTTPS 终端节点。当您将终端节点订阅到某个主题时,您可以向该主题发布通知,并且 Amazon SNS 会发送一个 HTTP POST 请求,将通知的内容传送到订阅的终端节点。订阅终端节点时,您可以选择 Amazon SNS 是使用 HTTP 还是 HTTPS 将 POST 请求发送到终端节点。

从这里:https ://docs.aws.amazon.com/sns/latest/dg/sns-http-https-endpoint-as-subscriber.html


推荐阅读