如何调试Amazon SQS订阅SNS的问题

我想在我的服务中构建一个发布/订阅消息系统,这些消息系统托管在亚马逊网络服务上,并且创建订阅SNS主题的SQS队列似乎是明显的方向,但我根本无法实现它。

到目前为止,我的代码在启动时查找主题和队列,并创建缺少的任何内容。 这看起来很有效,我可以在AWS管理控制台中看到SNS主题和SQS队列,并且我可以看到该队列订阅了该主题,但是当我发布消息到主题时,没有任何内容会在队列中结束。

即使我使用管理控制台中的“发布”按钮手动发布消息,队列仍然是空的。

为了消除这种可能性,我将主题和队列的权限都更改为“每个人都可以做所有事情”。 我的代码收到消息ID以响应发布,并且没有错误,每个API调用都会返回200(OK)状态。

我在哪里可以从这里找出为什么它不起作用?


几个选项 -

  • 启用CloudTrail并监控日志
  • 查看CloudWatch日志以识别任何权限问题
  • 使用AWS支持打开票证。
  • 理想情况下,您不会在应用程序中创建资源,而是将其分解为CloudFormation或至少CLI脚本。 如果您需要动态创建这些资源的能力,那么使用AWS IoT Message Broker可能是更好的选择,因为它支持临时消息传递资源 - http://docs.aws.amazon.com/iot/latest/developerguide/iot-message -broker.html


    SNS - > SQS链接有几个小问题:

  • “Amazon SNS目前不兼容FIFO队列。” 根据他们将亚马逊SQS队列订阅到Amazon SNS主题教程的说明
  • 您必须摆弄IAM权限(请参阅将Amazon SNS消息发送到Amazon SQS队列的页面)
  • 您无法将消息发送到加密队列(请参阅其“服务器端加密”页面)
  • 如果所有这些信息都合并到一个页面中,肯定会更容易理解。 对我来说杀手是#3 - 也许其中一个将是你的问题的解决方案。

    链接地址: http://www.djcxy.com/p/32219.html

    上一篇: How to debug issues with Amazon SQS subscription to SNS

    下一篇: Amazon SNS: Not able to get Application Endpoint Arn