

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

# 在 Amazon SQS 中，从标准队列移至 FIFO 队列
<a name="FIFO-queues-moving"></a>

如果您的现有应用程序使用标准队列，并且您想要利用 FIFO 队列的排序或“仅处理一次”功能，则需要正确地配置队列和应用程序。

**重要注意事项**
+ **创建 FIFO 队列：**您无法将现有标准队列转换为 FIFO 队列。您必须为应用程序创建新的 FIFO 队列，或者删除现有标准队列并重新将其创建为 FIFO 队列。
+ **延迟参数：**FIFO 队列不支持每消息延迟，仅支持每队列延迟。如果您的应用程序在每条消息上设置 `DelaySeconds` 参数，您必须将应用程序修改为在整个队列上设置 `DelaySeconds`。
+ **消息组 ID：**为每条发送的消息提供一个[消息组 ID](high-throughput-fifo.md#partitions-and-data-distribution)。该 ID 支持并行处理消息，同时保持各组内消息的顺序。为了更好地扩展 FIFO 队列，请为消息组 ID 使用更精细的业务维度。 IDs 您向其分发消息的消息组越多，可供使用的消息数量就越多。
+ **高吞吐量模式：**使用推荐的 FIFO 队列[高吞吐量模式](high-throughput-fifo.md#partitions-and-data-distribution)来提高吞吐量。有关消息配额的更多信息，请参阅[Amazon SQS 消息配额](quotas-messages.md)。

**移至 FIFO 队列的核对清单**

在将消息发送到 FIFO 队列之前，请确认以下内容：

1. **配置延迟设置**
   + 修改应用程序以取消每消息延迟。
   + 在整个队列上设置 `DelaySeconds` 参数。

1. **设置消息组 IDs**
   + 通过基于业务维度指定消息组 ID，将消息整理到消息组中。
   + 使用更精细的业务维度来提高可扩展性。

1. **处理消息重复数据删除**
   + 如果您的应用程序无法发送具有相同消息正文的消息，请针对每条消息提供唯一的消息重复数据删除 ID。
   + 如果您的应用程序发送具有独特的消息正文的消息，请启用基于内容的重复数据删除。

1. **配置使用者**
   + 通常，使用者不需要更改代码。
   + 如果处理消息需要较长时间并且您设置了较高的可见性超时时间，请考虑向每个 `ReceiveMessage` 操作添加接收请求尝试 ID。这样做有助于在网络发生故障时重试接收尝试，并防止由于接收尝试失败而导致队列暂停。

通过执行这些步骤，您可以确保您的应用程序在使用 FIFO 队列时能够正常运行，并充分利用其排序和“仅处理一次”功能。有关更多详细信息，请参阅[《Amazon Simple Queue Service API Reference》](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/)**。