在 Amazon SQS 中接收和删除消息
向 Amazon SQS 队列发送消息后,您可以检索并删除这些消息,以处理应用程序工作流。此过程可确保消息处理的安全性和可靠性。本主题将指导您使用 Amazon SQS 控制台检索和删除消息,并说明优化此操作的关键设置。以下是消息接收和删除的重要概念:
-
接收消息
-
从 Amazon SQS 队列检索消息时,您无需指定特定消息。相反,您需要在单次请求中指定要检索的最大消息数量(最多 10 条)。
-
由于 Amazon SQS 的分布式特性,从消息较少的队列中检索时可能会返回空响应。为缓解此问题:
-
使用长轮询,等待有消息可用或投票超时。此方法可减少不必要的轮询成本并提升效率。
-
必要时重新发出请求。
-
-
-
消息可见性和删除
-
消息在检索后不会自动删除。此功能可确保您在应用程序故障或网络中断时可以重新处理消息。
-
处理完成后,您必须明确发送删除请求才能永久移除消息。此操作将确认消息已成功处理。
-
通过 Amazon SQS 控制台检索的消息仍然可见,可供重新检索。调整自动环境的可见性超时设置,以便在消息处理期间暂时隐藏来自其他使用者的消息。
-
-
可见性超时
-
此设置决定了消息在检索后保持隐藏状态的时长。请设置适当的超时时间,以确保消息仅被处理一次,并防止分布式处理过程中出现重复处理的情况。
-
使用控制台接收和删除消息的步骤
通过以下网址打开 Amazon SQS 控制台:https://console.aws.amazon.com/sqs/
。 -
在导航窗格中,选择 Queues (队列)。
-
在队列页面上,选择要从中接收消息的队列,然后选择发送和接收消息。
-
在发送和接收消息页面中,选择轮询消息。
Amazon SQS 会显示一个进度条,用以指示轮询持续时间。检索到的消息将显示在消息部分,并显示:
-
消息 ID
-
发送日期
-
大小
-
重启计数
-
-
要删除消息,请选择要移除的消息,然后选择删除。
在删除消息对话框中选择删除,确认删除操作。
有关高级操作(包括基于 API 的消息检索和删除)的更多详情,请参阅 Amazon SQS API 参考指南。