我有一个应用程序通过Amazon SNS将消息发布到指定的目标。我需要以某种方式使用python获取此消息。最简单的方法是什么?
答案 0 :(得分:3)
Amazon SNS不直接允许检索邮件。相反,对于Amazon SNS中的给定主题,您可以配置订阅者。例如,订户可以是电子邮件地址,Amazon SQS队列,HTTP端点或一些其他选项。请参阅https://aws.amazon.com/sns/faqs/(搜索“Amazon SNS如何工作”)以了解其工作原理。
要接收从python脚本发布的内容,最好的办法是为脚本设置新的Amazon SQS队列,并将Queue订阅到SNS主题。
然后,您可以轮询SQS队列以查看队列中是否有任何消息。
这项技术的另一个优势是,即使您的python脚本没有运行,您也不会错过任何消息 - 它们将在SQS队列中等待您。
boto是一个用于与Amazon交互的优秀python库,this tutorial解释了如何访问SQS队列。
或者,如果您可以将Python脚本部署为具有Http端点作为API的Web应用程序,则可以将Http端点订阅到SNS主题,并且每次有新消息时都会调用端点。建议不要使用此技术,因为您的脚本处于脱机状态,您将错过消息。