Amazon SQS 消息配额 - Amazon Simple Queue Service

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

Amazon SQS 消息配额

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

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

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

消息内容

消息只能包含XMLJSON、和未格式化的文本。允许以下 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操作(SendMessageReceiveMessage、或DeleteMessage)的API呼叫数量几乎不受限制。

FIFO队列

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

  • 如果您使用批处理,则FIFO队列支持每个API操作(SendMessageReceiveMessageDeleteMessage)每秒最多 3,000 条消息。每秒 3,000 条消息代表 300 个API呼叫,每个呼叫有一批 10 条消息。

FIFO队列的高吞吐量

  • 如果不进行批处理(SendMessageReceiveMessage、和DeleteMessage),则FIFO队列的高吞吐量在美国东部(弗吉尼亚北部)、美国西部(俄勒冈)和欧洲(爱尔兰)地区的每个API操作每秒最多可处理 70,000 笔交易。

  • 对于美国东部(俄亥俄州)和欧洲(法兰克福)区域,默认吞吐量为每次API操作每秒 18,000 笔交易。

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

  • 对于欧洲(伦敦)和南美洲(圣保罗),默认吞吐量为每个API操作每秒 4,500 笔交易。

  • 为了最大限度地提高吞吐量,IDs请增加用于不进行批处理的消息发送的消息组的数量。

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

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

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

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

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

  • 要申请超出区域限制的幅度,请联系 AWS Support援助中心。

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

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

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

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

注意

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

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