当前位置: 首页 > 知识库问答 >
问题:

通过过滤将消息从Amazon SNS路由到SQS

艾昊明
2023-03-14

在RabbitMQ中,可以创建一个交换,然后将其绑定到多个队列,每个队列都有一个路由密钥。这使得消息传递体系结构如下所示:

           message_x
         /    |     \
foo-msg_q  bar-msg_q  msg-logger_q

客户端将消息发布到message_xexchange中,该exchange只将路由密钥为“foo”的消息路由到foo-msg_q队列,只将路由密钥为“bar”的消息路由到bar-msg_q队列,所有消息都路由到msg-logger_q队列。

我很难弄清楚如何在AWS中做到这一点。我首先想到的是在各个队列上设置权限,以接受基于主题的消息,但权限条件的唯一可用字段是:

  • AWS:CurrentTime
  • AWS:EpochTime
  • AWS:多因素身份验证
  • AWS:PrincipalType
  • AWS:SecureTransport
  • AWS:sourcearn
  • AWS:sourceIP
  • AWS:UserAgent
  • AWS:userID
  • AWS:username

这些似乎都不会受到我发布到message_x主题的任何消息的影响。

当使用Amazon Simple Notification Service向多个Simple Queue Service队列扇形展开,每个队列接收发布到主题的消息子集时,是否可以这样做?

共有1个答案

严俊彦
2023-03-14

我无法删除已接受的答案,因此请参阅下面的答案,以获取此功能已发布后的正确答案。

不,这不可能。这将是他们添加的一个很好的特性。

我知道的唯一替代方案是为每个路由规则创建一个主题,然后发布到正确的主题。它不漂亮,但它完成了任务。如果你有很多规则,你可能需要超过3000个主题。您可以在网站上按照http://docs.AWS.amazon.com/general/latest/gr/aws_service_limits.html#limits_ses_quota的说明请求AWS增加主题限制。

 类似资料:
  • 我正在尝试使用TwilioAPI,我想使用消息内容作为过滤器。所以我想提出一个要求https://api.twilio.com/2010-04-01/Accounts/AccSID/Messages.json?body=“test”,它将包括所有正文中包含单词“test”的消息,无论是入站消息还是出站消息。 在Twilio文档中,我只能找到按发送日期过滤的邮件。上述用例可以通过Twilio实现吗?

  • 我正在考虑将Socket.io集成到一个express应用程序中。 js有一个非常好的特性,可以通过socket.io消息调用快速路由。 不过,帆在其他方面比我需要的要多一点。我正在寻找一种方法,使socket.io请求转发到快速路由,而不必使用整个sails框架。我想这是一个很常见的需求,所以我很惊讶我没有找到一个npm模块来做这件事,但是找了很长时间,我什么也没有找到。Express.io会这

  • 我有一个web应用程序,它通过WebLogic中的JMS与其他Java web应用程序通信。 我读到这样的答案:如何从PHP连接Jms? 我安装了ActiveMQ并尝试使用它。但是在Weblogic中,我们需要“jms_factory”和“queue_name”。我想它使用t3协议。

  • 我有这样的场景: 具有多个选播队列的两个地址。我需要将消息路由到指定的队列中的地址。

  • 路由在微服务体系结构的一个组成部分。例如,/可以映射到您的Web应用程序,/api/users映射到用户服务,并将/api/shop映射到商店服务。Zuul是Netflix的基于JVM的路由器和服务器端负载均衡器。 Netflix使用Zuul进行以下操作: 认证 洞察 压力测试 金丝雀测试 动态路由 服务迁移 负载脱落 安全 静态响应处理 主动/主动流量管理 Zuul的规则引擎允许基本上写任何JV

  • 我正在使用ActiveMQ Artemis 2.17.0,并且面临路由问题。 我实现了一个插件,它记录了before消息路由,我看到一些消息从路由到。 没有转移设置,主题和队列由生产者和消费者动态创建。有一个将目标映射到虚拟主题的设置 和都是有效的主题,但它们不应该被链接。 什么能解释这种行为?