【问题标题】:How to trigger an event everytime a notification is pushed on my AWS SQS destination?每次在我的 AWS SQS 目标上推送通知时如何触发事件?
【发布时间】:2020-03-16 11:58:03
【问题描述】:
我将 AWS SQS 用于亚马逊 MWS 订单 API。每当有人从将我添加为他的开发人员的卖家账户下订单时,亚马逊都会将通知发送到我的 AWS SQS 应用程序。我可以从那里提取通知。但为此,我将不得不创建一个调度程序来拉取通知。每次亚马逊向我的目的地推送通知时,我可以使用任何其他 AWS 作为侦听器来触发我自己的服务吗?我可以使用 Lambda 函数吗?我是 AWS 新手,所以我对它知之甚少。
【问题讨论】:
标签:
amazon-web-services
aws-lambda
amazon-sqs
amazon-mws
【解决方案1】:
是的,您可以使用 lambda。具体来说,您可以在 SQS 队列和 lambda 函数之间设置Event Source Mapping。
在这种情况下,Lambda 服务将为您拉取 SQS 队列,并在有消息时调用您的函数。你不必做任何事情,从某种意义上说,你不必担心实施拉动程序。
Lambda 服务负责拉取。如果您的功能成功完成,它还将从队列中删除消息。因此,您不必从队列中显式删除消息。
【解决方案2】:
有很多方法可以做到这一点,但如果你想要一种现代的、无服务器的方法,我会设置一个 lambda 函数来为你执行 SQS 轮询,正如 Marcin 上面所说的那样。然后,您可以对消息做任何您需要做的事情,无论是阅读 MWS 以获取更多订单信息,还是与您自己的系统同步。它真的很灵活。