根据文档,SQS消息最大保留期限(
在SQS中是否有一种方法可以在其保留期限到期后不丢失这些消息?例如,使用死信队列是否可行并不清楚。
MessageRetentionPeriod
)为14天。超过此时间后,消息将从队列中被删除。在SQS中是否有一种方法可以在其保留期限到期后不丢失这些消息?例如,使用死信队列是否可行并不清楚。
MessageRetentionPeriod
)为14天。超过此时间后,消息将从队列中被删除。你最多可以保留14天的消息,超过14天后,你可以将该消息移动到S3 Bucket进行备份。此外,你还可以通过DLQ来进行某些处理。
下面是一个快速的hack,你可以将那个消息发送回主队列。这绝不是最佳或推荐的选项。
RedrivePolicy
不会影响消息在到达队列的保留期(RetentionPeriod)后的处理。https://aws.amazon.com/sqs/faqs/#Limits_and_restrictions
问:我可以在Amazon SQS消息队列中保留多长时间的消息?https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SetQueueAttributes.html
MessageRetentionPeriod - Amazon SQS保留消息的时间长度,以秒为单位。有效值:表示秒数的整数,从60(1分钟)到1,209,600(14天)。默认值:345,600(4天)。当您更改队列的属性时,大多数属性的更改可能需要最多60秒才能在整个Amazon SQS系统中传播。对MessageRetentionPeriod属性的更改可能需要最多15分钟,并且会影响队列中的现有消息,如果将MessageRetentionPeriod减少到现有消息的年龄以下,可能会导致这些消息过期并被删除。