将FIFO SQS队列配置为Cloudwatch规则目标

问题描述 投票:1回答:1

[将SQS FIFO队列配置为CLoudwatch规则的目标时,我收到警告说:“事件将至少传递到FIFO队列一次”。我想知道此警告背后的解释。在FIFO队列中没有任何重复项,因此我需要该用例,但是如果我执行此配置,则可以将重复事件传递到我的队列中。

amazon-web-services amazon-sqs amazon-cloudwatch
1个回答
2
投票

根据documentation

与标准队列不同,FIFO队列不会引入重复的消息。 FIFO队列可帮助您避免将重复发送到队列。如果您在5分钟的重复数据删除间隔内重试SendMessage操作,则Amazon SQS不会将任何重复项引入队列。

要配置重复数据删除,您必须执行以下操作之一:

  • 启用基于内容的重复数据删除。这指示Amazon SQS使用SHA-256哈希值使用消息正文(而不是消息属性)生成消息重复数据删除ID。有关更多信息,请参阅Amazon Simple Queue Service API参考中有关CreateQueue,GetQueueAttributes和SetQueueAttributes操作的文档。

  • 明确提供消息的消息重复数据删除ID(或查看序列号)。有关更多信息,请参阅Amazon Simple Queue Service API参考中有关SendMessage,SendMessageBatch和ReceiveMessage操作的文档。

在您的情况下,CloudWatch每隔5分钟发送一次相同的消息,当您启用基于内容的重复数据删除时,该消息将不会在FIFO中重复。

这里是FIFO delivery logic

© www.soinside.com 2019 - 2024. All rights reserved.