我正在开发一个应用程序,我需要在其中向SNS发送多个事件。有没有办法将所有事件批量发送,或者我是否需要使用 for 循环(我使用的是 Java(逐个发送/发布到 SNS。
SNS 现在支持发布一批消息!
https://aws.amazon.com/about-aws/whats-new/2021/11/amazon-sns-supports-publishing-batches-messages-single-api-request/
publish()
API 调用仅发送一条消息。
您需要遍历数据并为每条消息调用publish()
。
您现在可以在单个请求中发布一批 10 条消息。它将 API 请求的成本降低了 90%。
链接包含批量发布的 Java 代码引用。
如果您需要发布多个事件,那么我建议使用 EventBridge 而不是 SNS。它可能会花费更多,但我们可以使用 EventBridgePutEvents
API 传递大约 10 个事件/API 调用。
您最多可以将 5 个目标指定为 Lambda、SQS 等。它可以连接到SNS可以传递的所有服务等等。