Node.js 如何使用SQS sendMessageBatch()发送10条以上的消息?
我在想,使用这段代码,他们会将所有消息发送到我的SQS队列,但是当在数组中使用10个以上的值时,我总是会收到一个错误,告诉我已达到超出限制 我不能增加我的SQS,所以我必须将消息从10发送到10 有没有人能从我需要的最好的方法中提出建议Node.js 如何使用SQS sendMessageBatch()发送10条以上的消息?,node.js,amazon-web-services,amazon-sqs,Node.js,Amazon Web Services,Amazon Sqs,我在想,使用这段代码,他们会将所有消息发送到我的SQS队列,但是当在数组中使用10个以上的值时,我总是会收到一个错误,告诉我已达到超出限制 我不能增加我的SQS,所以我必须将消息从10发送到10 有没有人能从我需要的最好的方法中提出建议 module.exports.sendMessageBatch = function sendMessages(queueUrl, messages) { for (var i = 0; i < messages.length;) { va
module.exports.sendMessageBatch = function sendMessages(queueUrl, messages) {
for (var i = 0; i < messages.length;) {
var params = {
QueueUrl: queueUrl,
Entries: []
};
for (var j = 0; j < 10 && i < messages.length; i++ , j++) {
params.Entries.push({
Id: uuid.v4(),
MessageBody: JSON.stringify(messages[i])
});
}
return sqs.sendMessageBatch(params).promise();
}
module.exports.sendMessageBatch=函数sendMessages(queueUrl,messages){
对于(var i=0;i
文档中说,您一次最多只能发送10条消息,因此您必须编写自己的逻辑。基本上,将数组分为10批,然后在循环中发送请求。类似如下:
const splitArray=require(“拆分数组”);
异步函数sendMessages(queueUrl,messages){
const spilttedArray=splitArray(消息,10);
for(spilttedArray的常量arr){
变量参数={
QueueUrl:QueueUrl,
条目:[]
};
for(arr的常量消息){
params.Entries.push({
Id:uuid.v4(),
MessageBody:JSON.stringify(消息)
});
}
等待sqs.sendMessageBatch(params.promise();
}
}
有一个包,它支持按顺序并行发送批量消息,以防您希望通过该路由