在Python中使用aws的sns和sqs

Posted geeklove

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Python中使用aws的sns和sqs相关的知识,希望对你有一定的参考价值。

首先,sns = Simple Notification Service,sqs = Simple Queue Service

sns与sqs有什么不同?

(ref:https://stackoverflow.com/questions/13681213/what-is-the-difference-between-amazon-sns-and-amazon-sqs

sns是分布式发布-订阅系统,一旦publisher发布了,subscriber那边立刻能接收到。

sns的订阅者(end point)可以是邮件,sms,甚至是sqs,通常用于subscriber数量未知的情况

sqs是分布式的队列系统,message不默认推送到subscriber那里。

subscriber得到message需要轮询(polling)。

一旦某个subscriber接收、处理或者删除这个message,其他的订阅者就不会收到同样的message了

怎样使用sns?(ref:https://gist.github.com/stuartmyles/8099723

在保证aws的key正确一致的情况下,还要保证publisher和subscriber的目标是同一个topic

怎样使用sqs?(ref:https://aws.amazon.com/cn/blogs/developer/using-python-and-amazon-sqs-fifo-queues-to-preserve-message-sequencing/

使用sqs需要创建(https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-getting-started.html),需要保证aws的key与发送者key的准确一致QueueName也要一致

也可以让sns充当publisher,用sqs接收。这种情况下,需要使用 set_attributes 方法(ref:https://aws.amazon.com/cn/blogs/developer/subscribing-an-sqs-queue-to-an-sns-topic/, https://docs.aws.amazon.com/sns/latest/dg/SendMessageToSQS.html

 

以上是关于在Python中使用aws的sns和sqs的主要内容,如果未能解决你的问题,请参考以下文章

不能安排 aws-sns 吗?

使用 AWS SNS 向特定 APNS 令牌发送推送通知

使用 Node JS 的 AWS SNS 推送通知

aws cloudformation 模板 sns sqs

使用 AWS SNS 的浏览器通知 [关闭]

AWS 默认访问策略 SNS 主题和 SQS q