参数 MessageDeduplicationId 的值无效。原因:请求包含对此队列类型无效的参数

问题描述 投票:0回答:3

我在 SQS 中有一个队列通过 Localstack 在本地运行。我已经配置了 .env 来与我的索引器和 api 对话。但是当我运行时它给了我这样的消息:

Value I4nCE8HRz0M for parameter MessageDeduplicationId is 
invalid. Reason: The request includes a parameter that is 
not valid for this queue type.

我对它可能是什么感到有点困惑,因为 Localstack 运行正常

spring-boot queue aws-cli amazon-sqs localstack
3个回答
4
投票

出现问题的原因是您尝试将消息发送到 FIFO 队列,但您已经创建了标准队列。而不是运行命令:

LOCAL_STACK_CONTAINER.execInContainer("awslocal", "sqs", "create-queue", "--queue-name", QUEUE_NAME);

你应该运行这个:

LOCAL_STACK_CONTAINER.execInContainer("awslocal", "sqs", "create-queue", "--queue-name", QUEUE_NAME, "--attributes", "{\"FifoQueue\":\"true\"}");

0
投票

就我而言,我也遇到了这个错误。我是因为发送到普通队列的消息具有 deduplicationId 标头。普通队列不喜欢那个标头


0
投票

如果您将仅 FIFO 属性(例如 MessageDeduplicationId)发送到标准队列,您将收到此错误。这意味着您的队列类型错误,或者您需要删除属性。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.