gpt4 book ai didi

amazon-web-services - 使用过滤将消息从 Amazon SNS 路由到 SQS

转载 作者:行者123 更新时间:2023-12-04 01:38:00 27 4
gpt4 key购买 nike

在 RabbitMQ 中,可以创建一个交换器,然后将其绑定(bind)到多个队列,每个队列都有一个路由键。这启用了如下的消息传递架构:

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

客户端发布消息到 message_x交换,路由 仅限 带有路由键“foo”的消息到 foo-msg_q队列, 仅限 带有路由键“bar”的消息到 bar-msg_q队列和 全部 发给 msg-logger_q 的消息队列。

我无法弄清楚如何在 AWS 中执行此操作。我的第一个想法是在各个队列上设置权限以根据主题接受消息,但权限条件的唯一可用字段是:
  • aws:当前时间
  • aws:EpochTime
  • aws:MultiFactorAuthAge
  • aws:主体类型
  • aws:安全传输
  • aws:SourceArn
  • aws:SourceIp
  • aws:用户代理
  • aws:用户 ID
  • aws:用户名

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

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

    最佳答案

    这可以通过在 SNS 中使用消息属性过滤来实现。将不同的 SQS 队列订阅到 SNS 主题后,您可以使用 SNS API SetSubscriptionAttributes 指定要过滤的属性。这将允许具有不同属性的消息路由到正确的 SQS 队列。

    这也不仅限于 SQS 队列,还包括 SNS 主题上的任何订阅源。例如,单个 SNS 主题可以将一组消息发布到 Lambda,而将另一组消息发布到 SQS。

    开发工具包引用:
    http://docs.aws.amazon.com/sns/latest/api/API_SetSubscriptionAttributes.html

    此处通过示例提供了更多详细信息:
    https://aws.amazon.com/blogs/compute/simplify-pubsub-messaging-with-amazon-sns-message-filtering/

    关于amazon-web-services - 使用过滤将消息从 Amazon SNS 路由到 SQS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22196890/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com