AWS SQL SendMessageBatch 提供重复项

AWS SQL SendMessageBatch Giving Duplicates

我有一个“标准”(非 FIFO)AWS SQS 队列和一个用于向其推送消息的 NodeJS 应用程序。

我在应用程序上设置了一个断点,可以在 sendMessageBatch 函数中看到“params”参数成员的值:

清除队列并执行发送后,我在 VS Code 控制台中看到以下内容:

Batch send results: {
  ResponseMetadata: { RequestId: '7d892234-cd9a-5052-9bad-784682dca7e8' },
  Successful: [
    {
      Id: '0',
      MessageId: '608616c2-c19a-41c0-b113-7e8e351e84a7',
      MD5OfMessageBody: 'f7f0c2902306b87690c26e9a753721a8'
    },
    {
      Id: '1',
      MessageId: 'cc433302-fb8a-4bf8-8a6d-75e457a07e73',
      MD5OfMessageBody: '686f5605f13ba466800c2d1b092e2d63'
    },
    {
      Id: '2',
      MessageId: '4e3f960e-14a0-4811-bf2f-1c34d3063b82',
      MD5OfMessageBody: '860327ef8bc9cdb36131d7b39138ff21'
    }
  ],
  Failed: []
}

一切看起来都不错,但是当我检查队列时,我看到每条消息都有两份,总共有六条消息。有人知道怎么解决吗?

我需要拦截对 SQS 的请求才能对此进行诊断。我没法让 Fiddler 接他们,但我发现了一个名为 Http Toolkit 的工具对我有用。

随着拦截工作的进行,我能够看到我实际上发送了重复的请求 - 因为我未能在循环中清除数组。