在 Amazon SQS 中接收和删除消息 - Amazon Simple Queue Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

在 Amazon SQS 中接收和删除消息

向 Amazon SQS 队列发送消息后,您可以检索并删除这些消息,以处理应用程序工作流。此过程可确保消息处理的安全性和可靠性。本主题将指导您使用 Amazon SQS 控制台检索和删除消息,并说明优化此操作的关键设置。以下是消息接收和删除的重要概念:

  1. 接收消息

    • 从 Amazon SQS 队列检索消息时,您无需指定特定消息。相反,您需要在单次请求中指定要检索的最大消息数量(最多 10 条)。

    • 由于 Amazon SQS 的分布式特性,从消息较少的队列中检索时可能会返回空响应。为缓解此问题:

      • 使用长轮询,等待有消息可用或投票超时。此方法可减少不必要的轮询成本并提升效率。

      • 必要时重新发出请求。

  2. 消息可见性和删除

    • 消息在检索后不会自动删除。此功能可确保您在应用程序故障或网络中断时可以重新处理消息。

    • 处理完成后,您必须明确发送删除请求才能永久移除消息。此操作将确认消息已成功处理。

    • 通过 Amazon SQS 控制台检索的消息仍然可见,可供重新检索。调整自动环境的可见性超时设置,以便在消息处理期间暂时隐藏来自其他使用者的消息。

  3. 可见性超时

    • 此设置决定了消息在检索后保持隐藏状态的时长。请设置适当的超时时间,以确保消息仅被处理一次,并防止分布式处理过程中出现重复处理的情况。

使用控制台接收和删除消息的步骤
  1. 通过以下网址打开 Amazon SQS 控制台:https://console.aws.amazon.com/sqs/

  2. 在导航窗格中,选择 Queues (队列)。

  3. 队列页面上,选择要从中接收消息的队列,然后选择发送和接收消息

  4. 发送和接收消息页面中,选择轮询消息

    Amazon SQS 会显示一个进度条,用以指示轮询持续时间。检索到的消息将显示在消息部分,并显示:

    • 消息 ID

    • 发送日期

    • 大小

    • 重启计数

  5. 要删除消息,请选择要移除的消息,然后选择删除

    删除消息对话框中选择删除,确认删除操作。

有关高级操作(包括基于 API 的消息检索和删除)的更多详情,请参阅 Amazon SQS API 参考指南