我可以向 AWS SNS 发送批量消息吗

Can I send batch message to AWS SNS

我正在开发一个需要向 SNS 发送多个事件的应用程序。有没有办法批量发送所有事件,或者我是否需要使用 for 循环(我正在使用 Java)一个一个地发送/发布到 SNS。

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

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

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

传递大约 10 个事件/ API 调用

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

SNS支持批量发布消息!

https://aws.amazon.com/about-aws/whats-new/2021/11/amazon-sns-supports-publishing-batches-messages-single-api-request/

您现在可以在单个请求中发布一批 10 条消息。它将 API 请求的成本降低了 90%。

Link有Java条批量发布的代码参考。