创建 Amazon SQS FIFO 队列并发送消息 - Amazon Simple Queue Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

创建 Amazon SQS FIFO 队列并发送消息

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

创建队列

您可以使用 Amazon SQS 控制台创建FIFO队列。该控制台为除队列名称之外的所有设置提供默认值。

重要

2022 年 8 月 17 日,默认服务器端加密 (SSE) 已应用于所有亚马逊SQS队列。

请勿在队列名称中添加个人身份信息 (PII) 或其他机密或敏感信息。许多 Amazon Web Services 都可以访问队列名称,包括账单和 CloudWatch 日志。队列名称不适合用于私有或敏感数据。

创建 Amazon SQS FIFO 队列
  1. 打开 Amazon SQS 控制台,网址为https://console.aws.amazon.com/sqs/

  2. 选择创建队列

  3. 对于类型,默认设置为标准队列类型。要创建FIFO队列,请选择FIFO

    注意

    创建队列后无法更改队列类型。

  4. 输入队列的名称

    FIFO队列名称必须以.fifo后缀结尾。后缀计入 80 个字符的队列名称配额。要确定队列是否为 FIFO,您可以检查队列名称是否以后缀结尾。

  5. (可选)控制台为队列配置参数设置默认值。在配置下,您可以为以下参数设置新值:

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

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

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

    4. 对于最大消息大小,输入一个值。范围从 1 KB 到 256 KB。默认值为 256 KB。

    5. 接收消息等待时间中,输入一个值。范围从 0 秒到 20 秒。默认值为 0 秒,这会设置短轮询。任何非零值都会设置长轮询。

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

    7. (可选)要使FIFO队列在队列中为发送和接收消息启用更高的吞吐量,请选择启用高吞吐量FIFO

      选择此选项会将相关选项(重复数据删除范围FIFO吞吐量限制)更改为为FIFO队列启用高吞吐量所需的设置。如果您更改使用高吞吐量所需的任何设置FIFO,则队列的正常吞吐量将生效,并且会按指定进行重复数据删除。有关更多信息,请参阅Amazon SQS 中 FIFO 队列的高吞吐量Amazon SQS 消息配额

  6. (可选)定义访问策略访问策略定义了可以访问队列的账户、用户和角色。访问策略还定义了用户可以访问的操作(例如 SendMessageReceiveMessageDeleteMessage)。默认策略仅允许队列所有者发送和接收消息。

    要定义访问策略,请执行以下操作之一:

    • 选择基本,配置谁可以向队列发送消息以及谁可以从队列接收消息。控制台根据您的选择创建策略,并在只读JSON面板中显示生成的访问策略。

    • 选择 “高级” 可直接修改JSON访问策略。这允许您指定每个主体(账户、用户或角色)可以执行的一组自定义操作。

  7. 对于重新驱动允许策略,请选择启用。从以下选项中选择一个:全部允许按队列全部拒绝。选择 “按队列” 时,请按照 Amazon 资源名称 (ARN) 指定最多 10 个源队列的列表。

  8. 默认情况下,Amazon SQS 提供托管服务器端加密。要选择加密密钥类型或禁用 Amazon SQS 托管服务器端加密,请展开加密。有关加密密钥类型的更多信息,请参阅使用 SQS 托管的加密密钥为队列配置服务器端加密使用 Amazon SQS 控制台为队列配置服务器端加密

    注意

    SSE启用后,匿名SendMessage和对加密队列的ReceiveMessage请求将被拒绝。Amazon SQS 安全最佳实践建议不要使用匿名请求。如果您想向 Amazon SQS 队列发送匿名请求,请务必禁用SSE。

  9. (可选)要将死信队列配置为接收无法投递的消息,请展开死信队列

  10. (可选)要向队列添加标签,请展开标签

  11. 选择创建队列。Amazon SQS 创建队列并显示队列的详情页面。

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

创建队列后,您可以向该队列发送消息,以及接收和删除消息。除队列类型外,您还可以编辑任何队列配置设置。

发送消息

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

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

  2. 操作中,选择发送和接收消息

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

  3. 对于消息正文,输入消息文本。

  4. 对于 First-In-First-Out (FIFO) 队列,输入消息组 ID。有关更多信息,请参阅 FIFOAmazon 中的队列配送逻辑 SQS

  5. (可选)对于FIFO队列,您可以输入消息重复数据删除 ID。如果您为队列启用了基于内容的重复数据删除,则不需要消息重复数据删除 ID。有关更多信息,请参阅 FIFOAmazon 中的队列配送逻辑 SQS

  6. FIFO队列不支持对单个消息设置计时器。有关更多信息,请参阅 Amazon SQS 消息计时器

  7. 选择 Send message(发送消息)。

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