SQS 消息延迟未按预期工作



我正在尝试延迟发送单个 SQS 消息。 使用 https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-send-message-with-timer.html 测试消息延迟,我没有看到任何延迟。

如果我在队列上设置了延迟,则会遵守该延迟,但不适用于单个消息。 我正在执行以下操作(全部来自 AWS 控制台(:

  • 打开 SQS 控制台并右键单击我的测试队列 - 验证队列的延迟值是否为 0。
  • 右键单击测试队列,然后单击"发送消息">
  • 添加邮件正文
  • 将"此邮件的传递延迟"设置为 30 秒
  • 单击"发送消息"。
  • 收到一条确认信息,说明"您的消息已发送,将在 30 秒内准备好接收"。

但是,当我检查 CloudWatch 时,我可以看到消息几乎立即被传递。 我误解了什么,还是我错过了配置中的某些内容?

我的测试表明,发送到 Lambda 函数用作触发器的 SQS 队列的消息将立即触发 Lambda 函数,即使提供了延迟设置也是如此。

请参阅:Amazon sqs - 如何将消息从 lambda 触发器返回到 SQS - 堆栈溢出

最新更新