iam*_*hul 1 amazon-sqs amazon-web-services
这是一个 3 部分的问题:
我了解 SQS 队列的消息保留期最长可设置为 14 天。对于您是否也可以将周期减少回较小的值,我找不到明确的答案。
考虑队列(原始保留期为 4 天)在我将消息保留期设置为 14 天的那一刻有以下消息:
一种。队列中的 10 条消息
b. 2 条消息正在传输中
这个新设置的保留期将如何应用于这些消息?队列中已有的 10 条消息是否会在 4 天后被删除,或者它们也会保留 14 天?
如果发送中的 2 条消息返回到队列(再次可见),它们会从队列中第一次收到起保留 14 天吗?
如果队列的当前保留期为 14 天,则队列中存在已存在 5 天的消息。现在,如果我将保留期减少到 4 天,此消息会发生什么情况?
小智 8
回答上述问题:
该期限可以缩短至较小的值,也可以进一步延长至 14 天。
是的,10 条可见消息和 2 条正在传输的消息将获得新的保留期。所有现有的和新的消息都将具有新的保留期,无论是更短还是更长。
请注意,新的保留期最多可能需要 15 分钟才能应用于队列。[ https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SetQueueAttributes.html ]
@hephalump 的答案基于持续时间短于 15 分钟的测试,因此,他们可能给出不一致的结果。但是,根据上述公共文档,更改实际应用到队列可能需要长达 15 分钟的时间。
我已经测试了(3-4次)它的保留时间超过15分钟,并在发布之前确认了我的答案。
此致
根据此处的 AWS 文档,消息的保留期可以设置为 1 分钟到 14 天之间。
在我解决主要问题之前,动态消息是队列使用者已经收到但尚未处理且正在处理的消息。对队列本身的更改应该不会影响已经传输的消息,因为从技术上讲,它们不再可见。
关于更新队列配置。当您更新 SQS 队列的保留策略时,队列中已有的消息会保留添加这些消息时存在的队列的保留策略,而新消息将接收从该时间点开始生效的保留策略。
在上面的第 2 点中,如果队列中有 10 条保留期为 4 天的邮件,并且您将队列更新为 14 天,则现有邮件将保留 4 天保留政策,而新邮件将保留 14 天政策适用。对于上面的第 3 点,同样的原则适用于以其他方式调整队列时。如果您有一些具有 14 天保留策略的邮件,并且您将队列策略更改为 4 天,那么在保留策略为 14 天时添加到队列的邮件将保留 14 天保留策略,并且新邮件将收到4 天保留政策。
| 归档时间: |
|
| 查看次数: |
1496 次 |
| 最近记录: |