

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

# Amazon SQS 消息配额
<a name="quotas-messages"></a>

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



- **批处理消息 ID**
  - 批处理消息 ID 最多可包含 80 个字符。接受以下字符：字母数字字符、连字符 (-) 和下划线 (\_)。

- **消息属性**
  - 一条消息可以包含最多 10 个元数据属性。

- **消息批**
  - 一个消息批请求中最多可包含 10 条消息。有关更多信息，请参阅 [配置亚马逊 SQSBuffered AsyncClient](sqs-client-side-buffering-request-batching.md#configuring-buffered-async-client) 部分中的 [Amazon SQS 批处理操作](sqs-batch-api-actions.md)。

- **消息内容**
  - 消息可以仅包含 XML、JSON 和非格式化的文本。允许以下 Unicode 字符：`#x9` \| `#xA` \| `#xD` \| `#x20` 至 `#xD7FF` \| `#xE000` 至 `#xFFFD` \| `#x10000` 至 `#x10FFFF`<br />此列表中未包含的任何字符将被拒绝。有关更多信息，请参阅[字符的 W3C 规范](https://www.w3.org/TR/REC-xml/#charsets)。

- **消息组 ID**
  - `MessageGroupId` 是 FIFO 队列所必需的。如果您在向 FIFO 队列发送消息时未提供 `MessageGroupId`，操作将失败。在标准队列中，使用 `MessageGroupId` 启用[公平队列](sqs-fair-queues.md)。我们建议您在使用公平队列时在所有消息中添加 `MessageGroupId`。<br />`MessageGroupId` 的长度为 128 个字符。有效值：字母数字字符和标点符号 `(!"#$%&'()*+,-./:;<=>?@[\]^_`{\|}~)`。

- **消息保留**
  - 默认情况下，消息将保留 4 天。最小值为 60 秒（1 分钟）。最大值为 1209600 秒（14 天）。

- **消息吞吐量**
  - **[标准队列](standard-queues.md)**<br />标准队列支持每个操作（[https://docs.amazonaws.cn/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html](https://docs.amazonaws.cn/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html)、[https://docs.amazonaws.cn/AWSSimpleQueueService/latest/APIReference/API_ReceiveMessage.html](https://docs.amazonaws.cn/AWSSimpleQueueService/latest/APIReference/API_ReceiveMessage.html) 或 [https://docs.amazonaws.cn/AWSSimpleQueueService/latest/APIReference/API_DeleteMessage.html](https://docs.amazonaws.cn/AWSSimpleQueueService/latest/APIReference/API_DeleteMessage.html)）每秒几乎无限次的 API 调用。这种高吞吐量使其非常适合需要快速处理大量消息的应用场景，例如实时数据流或大型应用程序。虽然标准队列会根据需求自动扩展，但您必须监控使用模式以确保实现最佳性能，特别是在工作负载较高的区域。
  - **[FIFO 队列](sqs-fifo-queues.md)**[See the AWS documentation website for more details](http://docs.amazonaws.cn/AWSSimpleQueueService/latest/SQSDeveloperGuide/quotas-messages.html)<br />**[FIFO 队列的高吞吐量](high-throughput-fifo.md)**<br />Amazon SQS FIFO 限制基于 API 请求的数量，而不是消息数量限制。在高吞吐量模式下，API 请求的限制如下：<br />**交易吞吐量限制（非批量 API 调用）**<br />这些限制定义了每个 API 操作（例如 [SendMessage](https://docs.amazonaws.cn/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html)、[ReceiveMessage](https://docs.amazonaws.cn/AWSSimpleQueueService/latest/APIReference/API_ReceiveMessage.html) 或 [DeleteMessage](https://docs.amazonaws.cn/AWSSimpleQueueService/latest/APIReference/API_DeleteMessage.html)）可以独立执行的频率，从而确保在允许的每秒事务数（TPS）范围内实现高效的系统性能。<br /> 以下限制基于非批量 API 调用：[See the AWS documentation website for more details](http://docs.amazonaws.cn/AWSSimpleQueueService/latest/SQSDeveloperGuide/quotas-messages.html)<br />**通过批处理最大限度地提高吞吐量**<br />在一次 API 调用中处理多条消息，从而显著提高效率。您可以通过批处理在一次 API 请求中发送、接收或删除最多 10 条消息，而无需单独处理每条消息。这减少了 API 调用的总数，让您能够在不超出区域的每秒事务数（TPS）限制的情况下每秒处理更多消息，从而最大限度地提高吞吐量和系统性能。有关更多信息，请参阅 [利用水平扩缩和操作批处理，借助 Amazon SQS 来提高吞吐量](sqs-throughput-horizontal-scaling-and-batching.md)。<br />以下限制基于批量 API 调用：[See the AWS documentation website for more details](http://docs.amazonaws.cn/AWSSimpleQueueService/latest/SQSDeveloperGuide/quotas-messages.html)<br />**利用批处理之外的其他方式优化吞吐量**<br />虽然批处理可以大大提高吞吐量，但您还需要考虑使用其他策略来优化 FIFO 性能：[See the AWS documentation website for more details](http://docs.amazonaws.cn/AWSSimpleQueueService/latest/SQSDeveloperGuide/quotas-messages.html)

- **消息定时器**
  - 消息的默认（最小）延迟为 0 秒。最大值为 15 分钟。

- **消息大小**
  - 最小消息大小为 1 字节（1 个字符）。最大为 1048576 字节（1 MiB）。<br />要发送大于 1 MiB 的消息，您可以使用[适用于 Java 的 Amazon SQS 扩展型客户端库](https://github.com/awslabs/amazon-sqs-java-extended-client-lib)和[适用于 Python 的 Amazon SQS 扩展型客户端库](https://github.com/awslabs/amazon-sqs-python-extended-client-lib)。此库允许您发送包含对 Amazon S3 中消息负载的引用的 Amazon SQS 消息。最大负载大小为 2 GB。 该扩展型客户端库仅适用于同步客户端。 

- **消息可见性超时**
  - 消息的默认可见性超时为 30 秒。最短时间为 0 秒。最长时间为 12 小时。

- **策略信息**
  - 最大配额为 8192 个字节、20 个语句、50 个主体或 10 个条件。有关更多信息，请参阅 [Amazon SQS 策略配额](quotas-policies.md)。

