无法向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
相关产品推荐
相关产品推荐

