

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 在 Amazon SQS 中接收和删除消息
<a name="step-receive-delete-message"></a>

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

1. **接收消息**
   + 从 Amazon SQS 队列检索消息时，您无需指定特定消息。相反，您需要在单次请求中指定要检索的最大消息数量（最多 10 条）。
   + 由于 Amazon SQS 的分布式特性，从消息较少的队列中检索时可能会返回空响应。为缓解此问题：
     + 使用长轮询，等待有消息可用或投票超时。此方法可减少不必要的轮询成本并提升效率。
     + 必要时重新发出请求。

1. **消息可见性和删除**
   + 消息在检索后不会自动删除。此功能可确保您在应用程序故障或网络中断时可以重新处理消息。
   + 处理完成后，您必须明确发送删除请求才能永久移除消息。此操作将确认消息已成功处理。
   + 通过 Amazon SQS 控制台检索的消息仍然可见，可供重新检索。调整自动环境的可见性超时设置，以便在消息处理期间暂时隐藏来自其他使用者的消息。

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

**使用控制台接收和删除消息的步骤**

1. 打开 Amazon SQS 控制台，网址为。[https://console.aws.amazon.com/sqs/](https://console.aws.amazon.com/sqs/)

1. 在导航窗格中，选择**队列**。

1. 在**队列**页面上，选择要从中接收消息的**队列**，然后选择**发送和接收消息**。

1. 在**发送和接收消息**页面中，选择**轮询消息**。

   Amazon SQS 会显示一个进度条，用以指示轮询持续时间。检索到的消息将显示在**消息**部分，并显示：
   + 消息 ID
   + 发送日期
   + Size
   + 重启计数

1. 要删除消息，请选择要移除的消息，然后选择**删除**。

   在**删除消息**对话框中选择**删除**，确认删除操作。

有关高级操作（包括基于 API 的消息检索和删除）的更多详情，请参阅 [Amazon SQS API 参考指南](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_Operations.html)。