AWS SNS 在一个 Lambda 中处理多条消息

AWS SNS processing multiple message in one Lambda

我有一个流程,可以在非常短的时间内发布许多将由 Lambda 处理的 SNS 消息。但是,Lambda 一次处理一个。它是一种应用类似于 SQS 长池的方法吗?

我有代码:

exports.saveLog = async (event) => {
  console.log('Event : ', event.Records.length);

  event.Records.forEach(record => {
    const sql = record.Sns.Message;
...

我希望 Lambda 收到一组短时间内发布的消息 - 可以吗?

Amazon SNS 本质上只是一个发布-订阅系统,它允许您发布一条消息,该消息会分发到一个或多个订阅端点。

要在单个下游进程中处理多条消息,您可以添加从 SNS 主题中提取消息的 Amazon SQS 队列和从队列中批量检索消息的 Lambda 函数。