Amazon SQS 队列和消息标识符 - Amazon Simple Queue Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

Amazon SQS 队列和消息标识符

本部分主要介绍标准队列和 FIFO 队列的标识符。这些标识符可帮助您查找并操作特定队列和消息。

Amazon SQS 标准队列和 FIFO 队列的标识符

有关以下标识符的更多信息,请参阅Amazon Simple Queue Service API 参考

队列名称和 URL

在创建新的队列时,您必须为 Amazon 账户和区域指定唯一的队列名称。Amazon SQS 会为您创建的每个队列分配一个名为队列 URL,其中包括队列名称和其他 Amazon SQS 组件。每当您要对队列执行操作时,都需要提供其队列 URL。

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

以下是名为 MyQueue 的队列的队列 URL,该队列由 AWS 账号为 123456789012 的用户所拥有。

https://sqs.us-east-2.amazonaws.com/123456789012/MyQueue

您可以通过列出队列并解析账号后的字符串,以编程方式检索队列的 URL。有关更多信息,请参阅ListQueues

消息 ID

每条消息都接收一个系统分配的消息 IDAmazon SQS 在SendMessage响应. 此标识符用于识别消息。(但,要删除消息,您需要消息的接收句柄。) 消息 ID 的最大长度为 100 个字符。

接收句柄

每当收到来自队列的消息时,您都会收到该消息的接收句柄。此句柄与接收消息的操作相关联,与消息本身无关。要删除消息或更改消息可见性,您必须提供接收句柄 (而不是消息 ID)。因此,您必须始终先接收消息,然后才能删除它 (您不能将消息放入队列中,然后重新调用它)。接收句柄的最大长度为 1024 个字符。

重要

如果多次接收某条消息,则每次接收该消息时,您都会获得不同的接收句柄。在请求删除该消息时,您必须提供最近收到的接收句柄 (否则,可能无法删除该消息)。

以下是接收句柄的示例 (跨三条线分解)。

MbZj6wDWli+JvwwJaBV+3dcjk2YW2vA3+STFFljTM8tJJg6HRG6PYSasuWXPJB+Cw Lj1FjgXUv1uSj1gUPAWV66FU/WeR4mq2OKpEGYWbnLmpRCJVAyeMjeU5ZBdtcQ+QE auMZc8ZRv37sIW2iJKq3M9MFx1YvV11A2x/KSbkJ0=

Amazon SQS FIFO 队列的其他标识符

有关以下标识符的更多信息,请参阅确切一次处理Amazon Simple Queue Service API 参考

消息重复数据删除 ID

用于消除已发送消息的重复数据的令牌。如果成功发送具有特定消息重复数据消除 ID 的邮件,则会成功接受具有相同消息重复数据消除 ID 的任何邮件,但不会在 5 分钟的重复数据消除间隔内传递。

消息组 ID

指定消息属于特定消息组的标记。属于同一消息组的邮件始终按照相对于消息组的严格顺序逐个处理(但是,属于不同消息组的邮件可能会失序)。

序列号

Amazon SQS 为每条消息分配的大型非连续数字。