亚马逊 SQS 消息配额 - Amazon Simple Queue Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

亚马逊 SQS 消息配额

下表列出了与消息相关的配额。

限额 描述
批处理消息 ID 批处理消息 ID 最多可包含 80 个字符。接受以下字符:字母数字字符、连字符 (-) 和下划线 (_)。
消息属性 一条消息可以包含最多 10 个元数据属性。
消息批

一个消息批请求中最多可包含 10 条消息。有关更多信息,请参阅 Amazon SQS 批处理操作 部分中的 配置 AmazonSQS 客户端 BufferedAsync

消息内容

消息可以仅包含 XML、JSON 和非格式化的文本。允许以下 Unicode 字符:#x9 | #xA | #xD | #x20#xD7FF | #xE000#xFFFD | #x10000#x10FFFF

此列表中未包含的任何字符将被拒绝。有关更多信息,请参阅字符的 W3C 规范

消息组 ID

处理积压的消息,以避免积压大量具有相同消息组 ID 的消息

MessageGroupId 是 FIFO 队列所必需的。您不能将其用于标准队列。

您必须将非空 MessageGroupId 与消息相关联。如果您未提供 MessageGroupId,操作将失败。

MessageGroupId 的长度为 128 个字符。有效值:字母数字字符和标点符号 (!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~)

消息保留 默认情况下,消息将保留 4 天。最小值为 60 秒(1 分钟)。最大值为 1209600 秒(14 天)。
消息吞吐量 标准队列的每个 API 操作(SendMessageReceiveMessageDeleteMessage)每秒支持接近无限的 API 调用。

FIFO 队列

  • FIFO 队列支持每个 API 操作(SendMessageReceiveMessageDeleteMessage)每秒 300 个事务的配额。

  • 如果您使用批处理,则 FIFO 队列支持每个 API 操作(SendMessageReceiveMessageDeleteMessage)每秒最多 3000 条消息。每秒 3000 个事务代表 300 次 API 调用,每次调用带有包含 10 条消息的一个批处理。

FIFO 队列的高吞吐量

  • 如果不使用批处理(SendMessageReceiveMessageDeleteMessage),在美国东部(弗吉尼亚州北部)、美国西部(俄勒冈州)和欧洲地区(爱尔兰)区域中,FIFO 队列的高吞吐量每次 API 操作每秒处理多达 7 万个事务。

  • 对于美国东部(俄亥俄州)和欧洲地区(法兰克福)区域,默认吞吐量为每个 API 操作每秒 1.8 万个事务。

  • 对于亚太地区(孟买)、亚太地区(新加坡)、亚太地区(悉尼)和亚太地区(东京)区域,默认吞吐量为每个 API 操作每秒 9000 个事务。

  • 对于欧洲地区(伦敦)和南美洲(圣保罗)区域,默认吞吐量为每个 API 操作每秒 4500 个事务。

  • 为了最大限度地提高吞吐量,请在不使用批处理的情况下,增加用于已发送消息的消息组 ID 的数量。

  • 您可以通过在美国东部(弗吉尼亚州北部)、美国西部(俄勒冈州)和欧洲地区(爱尔兰)区域使用批处理 API(SendMessageBatchDeleteMessageBatch),将吞吐量提高到每秒 70 万条消息。每秒 70 万条消息代表每秒 7 万个事务,每个事务带有包含 10 条消息的一个批处理。

    对于欧洲地区(法兰克福)和美国东部(俄亥俄州)区域,您可以通过使用批处理 API 每秒最多处理 18 万条消息。每秒 18 万条消息代表每秒 1.8 万个事务,每个事务带有包含 10 条消息的一个批处理。

    对于亚太地区(孟买)、亚太地区(新加坡)、亚太地区(悉尼)和亚太地区(东京)区域,您可以通过批处理每秒处理多达 90000 条消息。要在使用 SendMessageBatchDeleteMessageBatch 时实现最大吞吐量,批处理请求中的所有消息都必须使用相同的消息组 ID。

  • 对于欧洲地区(伦敦)和南美洲(圣保罗)区域,您可以通过批处理每秒最多处理 45000 条消息。要在使用 SendMessageBatchDeleteMessageBatch 时实现最大吞吐量,批处理请求中的所有消息都必须使用相同的消息组 ID。

  • 在所有其他 Amazon 区域,每个 API 操作的最大吞吐量为每秒 2,400 条(不含批处理)或 24,000 条(使用批处理)消息。

  • 要请求将配额提高到超过区域限制,请提交支持请求

  • 有关更多信息,请参阅 SQS FIFO 队列高吞吐量的分区和数据分布

消息定时器 消息的默认(最小)延迟为 0 秒。最大值为 15 分钟。
消息大小

最小消息大小为 1 字节(1 个字符)。最大消息大小为 262144 字节 (256 KiB)。

要发送大于 256 KiB 的消息,您可以使用适用于 Java 的亚马逊 SQS 扩展客户端库和适用于 Python 的亚马逊 SQS 扩展客户端库。此库允许您发送包含对 Amazon S3 中消息负载的引用的 Amazon SQS 消息。最大负载大小为 2 GB。

注意

此扩展库仅适用于同步客户端。

消息可见性超时 消息的默认可见性超时为 30 秒。最短时间为 0 秒。最长时间为 12 小时。
策略信息 最大配额为 8192 个字节、20 个语句、50 个主体或 10 个条件。有关更多信息,请参阅 亚马逊 SQS 政策配额