2

我正在使用 SNS 将消息从一台服务器发送到另一台服务器。我想创建一条消息以使用 Python 和 Boto 发送到另一台服务器,所以我想知道是否有人可以查看这段旨在发送“抓取”消息的代码:

import boto
sns = boto.connect_sns()

# Create Topic
t = sns.create_topic("scraped")
t
{u'CreateTopicResponse': {u'ResponseMetadata': {u'RequestId': u''}, u'CreateTopicResult': {u'TopicArn': u'arn:aws:sns:us-east-1:your-account-id:Test'}}}

然后另一方面,我想要一些代码来检查第二台服务器上的这条消息,所以我有这样的事情:

import boto
sns = boto.connect_sns()

# Read Topics
sns.get_all_topics()
{u'ListTopicsResponse': {u'ResponseMetadata': {u'RequestId': u''}, u'ListTopicsResult': {u'Topics': [{u'TopicArn': u'arn:aws:sns:us-east-1:your-account-id:Test'}], u'NextToken': None}}}

我的第一个问题是,我得到了正确的结果吗?这对我来说是一个全新的概念,我很难理解它。

我的第二个问题是为了检查我是否每 5 分钟左右在 python 检查脚本上运行一次 cronjob?

4

1 回答 1

6

我的第一个问题是,我得到了正确的结果吗?

我不这么认为。

想象一下,SNS 只是一个公告板。假设您在此公告板上张贴了一张纸,上面写着“如果您想报名参加钢琴课程,请在此纸的顶部写上您的名字。” 这就是“话题”。

然后添加:“如果您是一位正在寻找学生的钢琴老师,请在此纸的背面写下您的姓名。同时记下您希望在我们找到新学生时收到通知的方式:电子邮件、短信或信鸽。” 添加姓名的教师正在创建对该主题的“订阅”。

当一个学生写下他的名字(发布到主题)时,每个老师都会通过他们喜欢的方法同时收到通知,有一个新的注册。由每位教师决定如何处理这些信息。

您上面的代码片段正在执行此操作的前半部分。您正在创建一个主题,然后查看这些主题。为了让它做任何事情,你必须向主题发布一条消息。我的博客上有一些示例代码,我在其中使用 Python 的logging模块将日志消息发布到 SNS 主题。这可能会让您更好地理解现实世界的用例。

于 2013-01-24T17:13:57.150 回答