You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS SQS FIFO消息未触发Lambda且莫名消失问题排查

问题现象

向集成AWS Lambda触发器的AWS SQS队列发送多条消息后,AWS控制台确认消息已接收,但部分消息未送达Lambda(经Serverless应用监控系统确认),且这些消息被莫名删除。

消息发送代码

import * as AWS from "@aws-sdk/client-sqs";
import * as crypto from "crypto";

export class SqsService {
  private readonly sqsClient = new AWS.SQS({ region: "us-east-1" });

  public async sendMessages(
    queueUrl: string,
    messageGroupId: string,
    messages: any[]
  ) {
    const params = {
      QueueUrl: queueUrl,
      Entries: [],
    };
    const entries = [];
    let counter = 0;
    for (const message of messages) {
      const index = Math.floor(counter / 10);
      if (counter % 10 === 0) entries[index] = [];
      entries[index].push({
        Id: crypto
          .randomBytes(32)
          .toString("hex")
          .replace(/[\W_]+/g, ""),
        MessageBody: JSON.stringify(message),
        MessageGroupId: messageGroupId,
      });
      counter += 1;
    }
    for (const entry of entries) {
      params.Entries = entry;
      await this.sqsClient.sendMessageBatch(params);
    }
  }
}

Serverless函数配置

schedulerListener:
    name: ${self:provider.stage}-scheduler-listener
    handler: src/handlers/sqsScheduler.handler
    events:
      - sqs:
          arn: xxxxx
          batchSize: 10

SQS设置

SQS设置

问题原因与修正

经排查,问题根源是该SQS队列同时触发了生产环境和开发环境的Lambda服务,导致消息被两个环境的Lambda消费,从而出现部分消息未在目标监控中出现且被删除的现象。

内容的提问来源于stack exchange,提问作者Gabriel Cunha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 22:47:27