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

ben*_*siu 2 amazon-web-services amazon-sns aws-lambda

我有一个过程,它在很短的时间内发布了许多将由 Lambda 处理的 SNS 消息。但是,Lambda 当时正在处理它。它是一种应用类似于 SQS 长池化的方法吗?

我有代码:

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

  event.Records.forEach(record => {
    const sql = record.Sns.Message;
...
Run Code Online (Sandbox Code Playgroud)

如果它们在短时间内发布,我希望 Lambda 收到一组消息 - 可能吗?

Den*_*aub 6

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

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