我想在我的服务中构建一个发布/子消息系统,这些服务托管在上,创建订阅SNS主题的SQS队列似乎是一个显而易见的方向,但我根本无法让它工作。
到目前为止,我的代码在启动时查找主题和队列,并创建任何缺少的内容。这似乎是可行的,我可以在AWS管理控制台中看到SNS主题和SQS队列,并且可以看到队列被订阅到主题,但是当我向主题发布消息时,队列中没有任何东西。
即使我使用管理控制台中的“发布”按钮手动发布消息,队列仍然是空的。
为了消除这种可能性,我将主题和队列的权限更改为“每个人都可以做任何事情”。我的代码收到响应发布的消息ID,没有错误,每个API调用都返回200 (OK)状态。
从这里我能去哪里找出为什么不起作用?
发布于 2017-08-22 03:07:43
有几个选择-
理想情况下,您不会在应用程序中创建资源,而是将这些资源解耦到CloudFormation或最低限度的CLI脚本中。如果您需要动态创建这些资源的能力,那么使用AWS IoT消息代理可能是一个更好的选择,因为它支持短暂的消息传递资源- http://docs.aws.amazon.com/iot/latest/developerguide/iot-message-broker.html。
发布于 2017-11-22 21:55:10
SNS -> SQS链接有几个缺点:
如果将所有这些信息合并到一个页面中,肯定会更容易理解这一点。对我来说,杀手是#3 --也许其中之一就是解决你的问题。
发布于 2021-09-13 14:50:11
对于SQS订阅,我也有类似的问题。结果是,如果我从SQS编辑器创建订阅,它就能工作,但是如果我从SNS创建屏幕创建订阅,它会接受消息,但不会将它转发到队列。
https://stackoverflow.com/questions/45803824
复制相似问题