

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

# 创建 Amazon SQS FIFO 队列并发送消息
<a name="creating-sqs-fifo-queues"></a>

您可以创建 Amazon SQS FIFO 队列并通过控制台发送消息。本主题介绍了如何设置队列参数，包括可见性超时、消息保留和重复数据删除，同时遵循安全最佳实践，例如避免在队列名称中使用敏感信息以及启用服务器端加密。它还包括定义访问策略、配置死信队列以及发送带有特定于 FIFO 的属性（例如消息组 ID 和重复数据删除 ID）的消息。

## 使用 Amazon SQS 控制台创建 FIFO 队列
<a name="step-create-fifo-queue"></a>

您可以使用 Amazon SQS 控制台创建 [FIFO 队列](sqs-fifo-queues.md)。该控制台为除队列名称之外的所有设置提供默认值。

**重要**  
2022 年 8 月 17 日，默认服务器端加密 (SSE) 应用于所有 Amazon SQS 队列。  
请勿在队列名称中添加个人身份信息 (PII) 或其他机密/敏感信息。许多 Amazon Web Services 都可以访问队列名称，包括账单和 CloudWatch 日志。队列名称不适合用于私有或敏感数据。

**创建 Amazon SQS FIFQ 队列**

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

1. 选择**创建队列**。

1. 对于**类型**，默认设置为**标准**队列类型。要创建 FIFO 队列，请选择 **FIFO**。
**注意**  
创建队列后无法更改队列类型。

1.  输入队列的**名称**。

   FIFO 队列名称必须以 `.fifo` 后缀结尾。后缀计入 80 个字符的队列名称配额。要确定队列是否为 [FIFO](sqs-fifo-queues.md)，您可以检查队列名称是否以该后缀结尾。

1. （可选）控制台为队列[配置参数](sqs-configure-queue-parameters.md)设置默认值。在**配置**下，您可以为以下参数设置新值：

   1. 对于**可见性超时**，输入持续时间和单位。范围从 0 秒到 12 小时。默认 值为 30 秒。

   1. 对于**消息保留期**，输入持续时间和单位。范围从 1 分钟到 14 天。默认值为 4 天。

   1. 对于**传送延迟**，输入持续时间和单位。范围从 0 秒到 15 分钟。默认值为 0 秒。

   1. 对于**最大消息大小**，输入一个值。范围从 1 KiB 到 1024 KiB 不等。默认值为 1024 KiB。

   1. 在**接收消息等待时间**中，输入一个值。范围从 0 秒到 20 秒。默认值为 0 秒，这会设置[短轮询](sqs-short-and-long-polling.md)。任何非零值都会设置长轮询。

   1. 对于 FIFO 队列，选择**基于内容的重复数据删除**，以启用基于内容的重复数据删除。默认情况下，该设置处于禁用状态。

   1. （可选）要让 FIFO 队列启用更高的吞吐量以便在队列中发送和接收消息，请选择**启用高吞吐量 FIFO**。

      选择此选项会将相关选项（**重复数据删除范围**和 **FIFO 吞吐量限制**）更改为为 FIFO 队列启用高吞吐量所需的设置。如果更改使用高吞吐量 FIFO 所需的任何设置，则队列正常吞吐量生效，重复数据删除按规定进行。有关更多信息，请参阅[Amazon SQS 中 FIFO 队列的高吞吐量](high-throughput-fifo.md)和[Amazon SQS 消息配额](quotas-messages.md)。

1. （可选）定义**访问策略**。[访问策略](sqs-creating-custom-policies-access-policy-examples.md)定义了可以访问队列的账户、用户和角色。访问策略还定义了用户可以访问的操作（例如 [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html)、[https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ReceiveMessage.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ReceiveMessage.html) 或 [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_DeleteMessage.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_DeleteMessage.html)）。默认策略仅允许队列所有者发送和接收消息。

   要定义访问策略，请执行以下操作之一：
   + 选择**基本**，配置谁可以向队列发送消息以及谁可以从队列接收消息。控制台根据您的选择创建策略，并在只读 JSON 面板中显示生成的访问策略。
   + 选择**高级**，直接修改 JSON 访问策略。这允许您指定每个主体（账户、用户或角色）可以执行的一组自定义操作。

1. 对于**重新驱动允许策略**，请选择**启用**。从以下选项中选择一个：**全部允许**、**按队列**或**全部拒绝**。选择**按队列**时，按 Amazon 资源名称 (ARN) 指定最多 10 个源队列的列表。

1. 默认情况下，Amazon SQS 提供托管服务器端加密。要选择加密密钥类型或禁用 Amazon SQS 托管服务器端加密，请展开**加密**。有关加密密钥类型的更多信息，请参阅[使用 SQS 托管的加密密钥为队列配置服务器端加密](sqs-configure-sqs-sse-queue.md)和[使用 Amazon SQS 控制台为队列配置服务器端加密](sqs-configure-sse-existing-queue.md)。
**注意**  
启用 SSE 后，对加密队列的匿名 `SendMessage` 和 `ReceiveMessage` 请求将被拒绝。Amazon SQS 安全最佳实践建议不要使用匿名请求。如果您想向 Amazon SQS 队列发送匿名请求，请确保禁用 SSE。

1. （可选）要将[死信队列](sqs-configure-dead-letter-queue.md)配置为接收无法投递的消息，请展开**死信队列**。

1. （可选）要向队列添加[标签](sqs-configure-tag-queue.md)，请展开**标签**。

1. 选择**创建队列**。Amazon SQS 创建队列并显示队列的**详细信息**页面。

Amazon SQS 会在整个系统中传播有关新队列的信息。由于 Amazon SQS 是一种分布式系统，因此在控制台在**队列**页面上显示队列之前，您可能会遇到轻微的延迟。

创建队列后，您可以向该队列[发送消息](creating-sqs-standard-queues.md#sqs-send-messages)，以及[接收和删除消息](step-receive-delete-message.md)。除队列类型外，您还可以[编辑](sqs-configure-edit-queue.md)任何队列配置设置。

## 使用 FIFO 队列发送消息
<a name="sqs-send-messages-fifo"></a>

创建队列后，您可以向该队列发送消息。

1. 在左侧导航窗格中，选择**队列**。在队列列表中，选择刚刚创建的队列。

1. 从**操作**中，选择**发送和接收消息**。

   控制台会显示**发送和接收消息**页面。

1. 对于**消息正文**，输入消息文本。

1. 对于 First-In-First-Out (FIFO) 队列，请输入**消息组 ID。**有关更多信息，请参阅 [Amazon SQS 中的 FIFO 队列传递逻辑](FIFO-queues-understanding-logic.md)。

1. （可选）对于 FIFO 队列，您可以输入**消息重复数据删除 ID**。如果您为队列启用了基于内容的重复数据删除，则不需要消息重复数据删除 ID。有关更多信息，请参阅 [Amazon SQS 中的 FIFO 队列传递逻辑](FIFO-queues-understanding-logic.md)。

1.  FIFO 队列不支持单个消息的计时器。有关更多信息，请参阅 [Amazon SQS 消息计时器](sqs-message-timers.md)。

1. 选择**发送消息**。

   发送消息后，控制台会显示一条成功消息。选择**查看详细信息**，显示有关已发送消息的信息。