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 的工具对我有用。
随着拦截工作的进行,我能够看到我实际上发送了重复的请求 - 因为我未能在循环中清除数组。
我有一个“标准”(非 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 的工具对我有用。
随着拦截工作的进行,我能够看到我实际上发送了重复的请求 - 因为我未能在循环中清除数组。