本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
FIFOAmazon 中的队列和消息标识符 SQS
本节介绍FIFO队列的标识符。这些标识符可帮助您查找并操作特定队列和消息。
Amazon 中FIFO队列的标识符 SQS
有关以下标识符的更多信息,请参阅《Amazon 简单队列服务API参考》。
队列名称和 URL
在创建新的队列时,您必须为 Amazon 账户和区域指定唯一的队列名称。SQSAmazon 会为您创建的每个队列分配一个名为队列的标识符URL,其中包括队列名称和其他 Amazon SQS 组件。每当你想对队列执行操作时,都要提供其队列URL。
FIFO队列名称必须以.fifo
后缀结尾。后缀计入 80 个字符的队列名称配额。要确定队列是否是 FIFO,您可以检查队列名称是否以后缀结尾。
以下是名URL为的队列的FIFO队列,该队列由具有AWS账号的用户MyQueue
拥有123456789012
。
https://sqs.us-east-2.amazonaws.com/123456789012/MyQueue.fifo
您可以通过列出队列并解析账号后面的字符串,以编程方式检索队列。URL有关更多信息,请参阅 ListQueues
。
消息 ID
每条消息都会收到一个系统分配的消息 ID,Amazon SQS 会在回SendMessage
复中将其返回给您。此标识符用于识别消息。消息 ID 的最大长度为 100 个字符。
接收句柄
每当收到来自队列的消息时,您都会收到该消息的接收句柄。此句柄与接收消息的操作相关联,与消息本身无关。要删除消息或更改消息可见性,您必须提供接收句柄(而不是消息 ID)。因此,您必须始终先接收消息,然后才能删除它(您不能将消息放入队列中,然后重新调用它)。接收句柄的最大长度为 1024 个字符。
重要
如果多次接收某条消息,则每次接收该消息时,您都会获得不同的接收句柄。在请求删除该消息时,您必须提供最近收到的接收句柄(否则,可能无法删除该消息)。
以下是接收句柄的示例(跨三条线分解)。
MbZj6wDWli+JvwwJaBV+3dcjk2YW2vA3+STFFljTM8tJJg6HRG6PYSasuWXPJB+Cw
Lj1FjgXUv1uSj1gUPAWV66FU/WeR4mq2OKpEGYWbnLmpRCJVAyeMjeU5ZBdtcQ+QE
auMZc8ZRv37sIW2iJKq3M9MFx1YvV11A2x/KSbkJ0=
Amazon SQS FIFO 队列的其他标识符
有关以下标识符的更多信息,请参阅在 Amazon 中精确处理一次 SQS和《Amazon 简单队列服务API参考》。
消息重复数据删除 ID
Amazon SQS FIFO 队列中使用的一种令牌,用于唯一识别消息并防止重复。如果在 5 分钟的重复数据删除间隔内发送了多条具有相同重复数据删除 ID 的消息,则这些消息将被视为重复消息,并且系统只传递其中一条。如果您未指定重复数据删除 ID 并且启用了基于内容的重复数据删除,Amazon 会通过对邮件正文进行哈希处理来SQS生成重复数据删除 ID。这一机制可以在指定时间范围内消除重复消息,从而确保仅传递一次。
消息组 ID
指定消息属于特定消息组的标签。属于同一消息组的消息按相对于消息组的严格顺序逐个处理(但是,属于不同消息组的消息可能会不按顺序处理)。
序列号
Amazon 为每条消息SQS分配的大型非连续数字。