Amazon Simple Queue Service
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

Amazon SQS 消息定时器

Amazon SQS 消息定时器允许您为要添加到队列的消息指定初始不可见时段。例如,如果您发送一条消息并将 DelaySeconds 参数设置为 45,则使用者在该消息进入队列后的前 45 秒看不到该消息。DelaySeconds 的默认值为 0

注意

FIFO 队列不支持单个消息上的计时器。

Amazon SQS 消息有三种基本状态:1. 创建者将消息发送到队列;2. 使用者从队列接收消息;以及 3. 从队列中删除消息。消息在 received from a queue by a consumer, but not yet deleted from the queue 后将被视为传输中 (即,介于状态 2 和 3 之间)。队列中介于状态 1 和 2 之间的消息没有数量上的限制。

对于 标准 队列,其传输中的消息的最大数目为 120000 (received from a queue by a consumer, but not yet deleted from the queue)。如果您达到此限制,Amazon SQS 将返回 OverLimit 错误消息。为避免达到此限制,您应该在处理消息后将其从队列中删除。您还可以增加用来处理消息的队列的数量。

要设置适用于队列中所有消息的延迟时段,请使用延迟队列。各条消息的消息定时器设置会覆盖适用于整个延迟队列的任何 DelaySeconds 值。

使用控制台创建消息定时器

使用 AWS 管理控制台发送带有消息定时器的消息

  1. 登录 Amazon SQS 控制台

  2. 选择队列。

  3. Queue Actions 下拉列表中,选择 Send a Message

    注意

    仅在已选中队列的情况下,Queue Actions 下拉列表才可用。

  4. Send a Message to MyQueue 对话框中,键入消息。

  5. Delay delivery of this message by 文本框中,输入延迟值 (例如,30)。

  6. 选择 Send Message

  7. Send a Message to MyQueue 确认框中,选择 Close