【问题标题】:Sending multiple messages to SNS on a single call在一次通话中向 SNS 发送多条消息
【发布时间】:2021-11-19 13:17:55
【问题描述】:

我有一个场景,每次 lambda 运行时,它都会向 SNS 主题发送 1000 条消息。 我可以遍历消息列表并调用发布方法 1000 次,一次一条消息,但我想知道是否有一种方法可以在一次调用中发送多条消息。 在这种情况下,我可以批量处理消息并调用发布,比如说 10,每次执行时有 100 条消息。

如果有人能提供帮助,我将不胜感激。

【问题讨论】:

    标签: amazon-web-services aws-lambda amazon-sns


    【解决方案1】:

    SNS 刚刚引入了 PublishBatch API,您可以使用它在单个 API 请求中向 SNS 主题发送最多 10 条消息。更多关于功能发布的信息可以在这里找到:https://aws.amazon.com/about-aws/whats-new/2021/11/amazon-sns-supports-publishing-batches-messages-single-api-request/

    【讨论】:

      【解决方案2】:

      使用SNS publish 可以逐条发布消息,AWS 不提供批量或批量发布消息到 SNS 的方式。

      以下是您可以尝试的可能解决方案:

      您可以使用send-message-batch API 并将批量消息发送到 SQS。该 SQS 将由 SNS 订阅。下面是创建订阅 SQS 的图片:

      【讨论】:

      • Amazon SNS 无法“订阅” Amazon SQS 队列。
      【解决方案3】:

      你不能直接通过 SNS 实现它,也许你可以在 SNS 的前后设置一个 SQS 队列来批量发送和接收消息。

      https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessageBatch.html

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-01-22
        • 1970-01-01
        • 2023-03-18
        • 1970-01-01
        • 1970-01-01
        • 2015-02-17
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多