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

无法向SQS FIFO队列发送消息,请求缺少MessageGroupId参数

向SQS FIFO队列发送消息时提示缺少MessageGroupId参数的问题

我尝试使用以下代码片段向SQS FIFO队列发送消息:

Message<String> message = MessageBuilder.withPayload("1234")
          .setHeader("message-group-id", "1")
          .setHeader("message-deduplication-id", "1")
          .build();
Map<String, Object> messageHeaderMap = 
                Map.of("message-group-id", "1",
                       "message-deduplication-id", "1");
queueMessagingTemplate.convertAndSend(new QueueMessageChannel(amazonSQSAsync, queueUrl), message, messageHeaderMap);

为确保稳妥,我同时在Message对象和Map中设置了相关属性,但仍收到如下错误:

org.springframework.messaging.MessageDeliveryException: The request must 
contain the parameter MessageGroupId. (Service: AmazonSQS; Status Code: 400; 
Error Code: MissingParameter; Request ID: 9510767b-3be2-59a8-9fc6-2b6f48c0591c; 
Proxy: null); nested exception is 
com.amazonaws.services.sqs.model.AmazonSQSException: The request must contain 
the parameter MessageGroupId. (Service: AmazonSQS; Status Code: 400; Error 
Code: MissingParameter; Request ID: 9510767b-3be2-59a8-9fc6-2b6f48c0591c; Proxy: 
null)

我完全不清楚该如何解决此问题,恳请各位提供帮助。

编辑

我根据建议重构了代码如下:

Message<String> message = MessageBuilder.withPayload("1234")
          .setHeader("message-group-id", "1")
          .setHeader("message-deduplication-id", "1")
          .setHeader("messageGroupId", "1")
          .setHeader("messageDeduplicationId", "1").build();

Map<String, Object> messageHeaderMap =  Map.of("message-group-id", messageGroupId,
        "MessageGroupId", "1",
        "message-deduplication-id", "1",
        "messageGroupId", "1",
        "messageDeduplicationId", "1");
queueMessagingTemplate.convertAndSend(sqsMessageChannel, message, messageHeaderMap);

但仍然收到完全相同的错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 22:02:01