SQS FIFO Queue Deduplication

0

I am a bit confused by the meaning of "any messages sent with the same message deduplication ID are accepted successfully but aren't delivered during the 5-minute deduplication interval."

I send message A with deduplication id of 1234. I send another message B with the same deduplication id of 1234.

Does SQS ignore the second message B. Or save it and makes it visible after the 5-minute deduplication interval?

已提问 1 年前1948 查看次数
4 回答
1

Hello.

I tried it in my environment.

for i in {0..2}; do
    aws sqs send-message \
        --queue-url ${QUEUE_URL} \
        --message-body '{"message": "fifo-queue-duplicate-test"}' \
        --message-group-id Group1 \
        --message-deduplication-id "1"
done

When you run the above command, three messages will be sent to the SQS queue.
As a result, I was able to send three messages, but only one could be displayed as a message.
If you send a message with the same ID(above command) after 5 minutes, you can now see two messages.
In other words, I believe that the same ID will not be deduplicated if 5 minutes have elapsed.

profile picture
专家
已回答 1 年前
profile pictureAWS
专家
已审核 1 年前
0

Thanks - that's what I'm seeing. So deduplication is only with 5 minutes, the messages will still be deduplicated after the 5 minutes is up.

I'm guessing there isn't any configuration that can be changed that if the same deduplication id is used, to discard the duplicate messages?

已回答 1 年前
0

If you send a message with the same dedup ID, within 5 minutes of the previous message, the new message is accepted by the queue, but discarded. You will only be able to consume it once.

profile pictureAWS
专家
Uri
已回答 1 年前
0

okay - that was my expected behaviour but not what I've noticed. I will investigate further and see whats happening.

已回答 1 年前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则