SQS队列-发送没有MessageGroupId的消息?

时间:2019-10-16 11:52:11

标签: node.js amazon-web-services

我尝试发送不带MessageGroupId的消息,因为我基本上不需要它。我正在运行一些微服务,这些微服务应该随时从队列中读取,如果我输入相同的组ID,则意味着只有一个服务可以一一读取这些消息。

现在将UUID生成为MessageGroupId听起来是一种不好的做法。 有没有办法禁用MessageGroupId或发送不会充当MessageGroupId的默认值?

const params = {
    MessageDeduplicationId: `${uuidv1()}`,
    MessageBody: JSON.stringify({
       name: 'Ben',
       lastName: 'Beri',
    }),
    QueueUrl: `https://sqs.us-east-1.amazonaws.com/${accountId}/${queueName}`,
};

sqs.sendMessage(params, (err, data) => {
    if (err) {
        console.log('error! ' + err.message);
        return;
    }
    console.log(data.MessageId);
});

错误!该请求必须包含参数MessageGroupId。

1 个答案:

答案 0 :(得分:1)

没有messagegroupid,我们无法将消息插入队列,如果要顺序提取消息,则对所有消息使用相同的messagegroupid,否则对每个消息使用唯一的值。 您将UUID用作messagegroupid会面临什么含义