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