【问题标题】:Can I send batch message to AWS SNS我可以向 AWS SNS 发送批处理消息吗
【发布时间】:2021-11-19 10:15:18
【问题描述】:

我正在开发一个需要向 SNS 发送多个事件的应用程序。有什么方法可以批量发送所有事件,还是我需要使用 for 循环(我正在使用 Java)将所有事件一一发送/发布到 SNS。

【问题讨论】:

    标签: amazon-web-services amazon-sqs amazon-sns


    【解决方案1】:

    publish() API 调用只发送一条消息。

    您需要遍历您的数据并为每条消息调用publish()

    【讨论】:

    • 谢谢@John。有什么方法可以验证发布是否成功。我可以看到“PublishResponse”仅返回消息 ID。我可以检查状态并验证吗?
    • 请在 Amazon SNS 开发人员指南docs.aws.amazon.com/sns/latest/dg/sms_stats_cloudwatch.html 中查看:消息传递状态和查看 Amazon CloudWatch 指标的 Amazon SNS 主题属性docs.aws.amazon.com/sns/latest/dg/sns-topic-attributes.html 或 SMS 传递日志@
    • @RoyalTiger publish 是您将消息发送到 SNS 的时间。如果您返回 MessageId,则发布成功,否则可能没有 MessageId。或者,您可能指的是验证 delivery,这是向 SNS 主题另一端的订阅者的异步切换。
    • @Michael-sqlbot 你是对的。正如你所说,我总是可以在接收方处理这个问题。如果 SQS 订阅了 SNS,我可以验证 SQS 是否收到消息。
    【解决方案2】:
    【解决方案3】:

    如果您需要发布多个事件,那么我建议使用 EventBridge 而不是 SNS。它可能会花费更多,但我们可以使用 EventBridge PutEvents API 传递大约 10 个事件/API 调用。

    您最多可以指定 5 个目标,如 Lambda、SQS 等。它可以连接到 SNS 可以传递的所有服务等等。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-06-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-22
      • 1970-01-01
      • 1970-01-01
      • 2018-10-10
      相关资源
      最近更新 更多