

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

# 限额和限制
<a name="service-sizes-and-limits"></a>

下表显示了 Amazon Kinesis Data Streams 的流和分片限额及限制。


****  

| 配额 | 按需模式 | 预置模式 | 
| --- | --- | --- | 
|  数据流数 | 您的 AWS 账户内的直播数量没有上限。默认情况下，您可以使用按需容量模式创建最多 50 个数据流。如需增加此限额，请提交[支持工单](https://support.console.aws.amazon.com/support/home#/case/create?issueType=service-limit-increase)。 | 账户中采用预置模式的流数量没有限额上限。 | 
|  分片数量 | 并无上限。分片数量取决于摄取的数据量和所需的吞吐量级别。Kinesis Data Streams 会根据数据量和流量的变化自动扩展分片数量。 |  并无上限。以下各项的默认分片配额为每个 20,000 AWS 账户 个分片： AWS 区域 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/streams/latest/dev/service-sizes-and-limits.html) 其余所有区域每个 AWS 账户账户的默认分片限额为 1000 或 6000 个分片。您可以通过 Service Quotas 控制台查看账户的分片配额和使用率，网址为[https://console.aws.amazon.com/servicequotas/](https://console.aws.amazon.com/servicequotas/)。 要申请增加分片配额，请使用 Service Quotas 控制台或 AWS CLI。有关更多信息，请参阅[请求提高限额](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html)。  | 
|  数据流吞吐量 | 默认情况下，使用按需容量模式创建的新数据流的写入吞吐量为 4 MB/s ，读取吞吐 MB/s 量为 8。在美国东部（弗吉尼亚北部）、美国西部（俄勒冈）和欧洲（爱尔兰） AWS 区域，按需容量模式的数据流最多可扩展到 10% GB/s 的写入吞吐量和 20% 的 GB/s 读取吞吐量。对于其他区域，按需容量模式的数据流最多可扩展到 200 MB/s 的写入吞吐量和 400 的 MB/s 读取吞吐量。如果您需要将这些区域的 GB/s 写入容量增加到 10 和 20 个 GB/s 读取容量，请提交[支持请求](https://support.console.aws.amazon.com/support/home#/case/create?issueType=service-limit-increase)。 | 并无上限。最大吞吐量取决于为流预置的分片数量。每个分片最多可支持 1 MB/sec 或 1,000 个 records/sec 写入吞吐量或最多 2 MB/sec 或 2,000 个 records/sec 读取吞吐量。如果您需要更多载入容量，则可以使用 AWS 管理控制台 或 API 轻松扩大流中的分片数量。[UpdateShardCount](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_UpdateShardCount.html) | 
|  数据有效负载大小 | 使用 `base64-encoding` 之前记录的数据有效载荷的最大大小为 10 MiB。Kinesis 旨在使用突增容量处理间歇性的大型记录（大小为 1-10MiB）。 | 
|  `GetRecords` 事务大小 |  [GetRecords](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_GetRecords.html)每次调用可以从单个分片中检索多达 10 MB 的数据，每次调用最多可检索 10,000 条记录。对 `GetRecords` 的每次调用都算作一个读取事务。每个分片每秒可支持多达 5 个读取事务。每个读取事务可提供多达 10000 个记录，每个事务的配额上限为 10 MB。 | 
|  每个分片的数据读取速率 |  每个分片最多可支持每秒 2 MB 的最大总数据读取速率。[GetRecords](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_GetRecords.html)如果对 `GetRecords` 的调用返回 10 MB，则在接下来的 5 秒内发出的后续调用将会引发异常。 | 
|  每个数据流的注册消费端数量 |  使用 Kinesis 按需优势模式，您最多可以创建 50 个注册用户（增强型扇出）。使用 Kinesis 按需标准模式和 Kinesis 预配置模式，您可以为每个数据流创建最多 20 个注册使用者（增强扇出限制）。 | 
|  在预置模式和按需模式之间切换  |  对于 AWS 账户中的每个数据流，您可以在 24 小时内两次在按需和预配置容量模式之间切换。   | 

## API 限制
<a name="kds-api-limits"></a>

与大多数操作一样 AWS APIs，Kinesis Data Streams API 操作受到速率限制。下面是每个 AWS 账户在每个区域的限制。有关 Kinesis Data APIs Streams 的更多信息，请参阅[亚马逊 Kinesis API](https://docs.aws.amazon.com/kinesis/latest/APIReference/) 参考。

### KDS 控制层面 API 限制
<a name="kds-api-limits-control"></a>

下一节介绍了 KDS 控制平面的 APIs限制。KDS 控制平面APIs 允许您创建和管理数据流。这些是每个 AWS 账户在每个区域的限制。


**控制层面 API 限制**  

| API | API 调用限制 | 每个账户/流  | 说明 | 
| --- | --- | --- | --- | 
| AddTagsToStream | 每秒 5 个事务 (TPS) | 每个账户 | 每个数据流 50 个标签 | 
| CreateStream | 5 TPS | 每个账户 | 在账户中可以拥有的流数量没有配额上限。当您尝试执行以下操作之一时，如果发出 `CreateStream` 请求，则会收到 `LimitExceededException`： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/streams/latest/dev/service-sizes-and-limits.html)  | 
| DecreaseStreamRetentionPeriod | 5 TPS | 每个流 | 数据流的保留期的最小值为 24 小时。 | 
| DeleteResourcePolicy | 5 TPS | 每个账户 | 如需增加此限额，请提交[支持工单](https://support.console.aws.amazon.com/support/home#/case/create?issueType=service-limit-increase)。 | 
| DeleteStream | 5 TPS | 每个账户 |  | 
| DeregisterStreamConsumer | 5 TPS | 每个流 |  | 
| DescribeAccountSettings | 5 TPS | 每个 账户 |  | 
| DescribeLimits | 1 TPS | 每个账户 |  | 
| DescribeStream | 10 TPS | 每个账户 |  | 
| DescribeStreamConsumer | 20 TPS | 每个流 |  | 
| DescribeStreamSummary | 20 TPS | 每个账户 |  | 
| DisableEnhancedMonitoring | 5 TPS | 每个流 |  | 
| EnableEnhancedMonitoring | 5 TPS | 每个流 |  | 
| GetResourcePolicy | 5 TPS | 每个账户 | 如需增加此限额，请提交[支持工单](https://support.console.aws.amazon.com/support/home#/case/create?issueType=service-limit-increase)。 | 
| IncreaseStreamRetentionPeriod | 5 TPS | 每个流 | 流保留期的最大值为 8760 小时（365 天）。 | 
| ListShards | 1000 TPS | 每个流 |  | 
| ListStreamConsumers | 5 TPS | 每个流 |  | 
| ListStreams | 5 TPS | 每个账户 |  | 
| ListTagsForStream | 5 TPS | 每个流 |  | 
| MergeShards | 5 TPS | 每个流 | 仅适用于预置模式。 | 
| PutResourcePolicy | 5 TPS | 每个账户 | 如需增加此限额，请提交[支持工单](https://support.console.aws.amazon.com/support/home#/case/create?issueType=service-limit-increase)。 | 
| RegisterStreamConsumer | 5 TPS | 每个流 | 您最多可以为每个数据流注册 20 个消费端。每次只能在一个数据流中注册给定的消费端。只能同时创建 5 个消费端。换言之，同时处于 CREATING 状态的消费端不能超过 5 个。 | 
| RemoveTagsFromStream | 5 TPS | 每个流 |  | 
| SplitShard | 5 TPS | 每个流 | 仅适用于预置模式 | 
| StartStreamEncryption |  | 每个流 | 您可以在 24 小时内成功应用新的 AWS KMS 密钥进行服务器端加密 25 次。 | 
| StopStreamEncryption |  | 每个流 | 在连续 24 小时期间，您可以成功禁用服务器端加密 25 次。 | 
| UpdateShardCount |  | 每个流 | 仅适用于预置模式。分片数量的默认限制为 10000 个。此 API 还存在其他限制。有关更多信息，请参阅 [UpdateShardCount](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_UpdateShardCount.html)。 | 
| UpdateStreamMode |  | 每个流 |  对于 AWS 账户中的每个数据流，您可以在 24 小时内两次在按需和预配置容量模式之间切换。  | 
| UpdateStreamWarmThroughput | 5 TPS | 每个 账户 | 相应账户和区域可配置的最大热吞吐量为按需模式的数据流吞吐量限制。 | 
| UpdateAccountSettings | 5 TPS | 每个 账户 | 启用或禁用按需优势模式等账户设置。 | 

### 数据层面 API 限制
<a name="kds-api-limits-data"></a>

下一节介绍了 KDS 数据平面的 APIs限制。KDS 数据平面 APIs 允许您使用数据流实时收集和处理数据记录。下面是您的数据流中的每分片限制。


**数据层面 API 限制**  

| API | API 调用限制 | 负载限制 | 其他详细信息 | 
| --- | --- | --- | --- | 
| GetRecords | 5 TPS | 每次调用可返回的最大记录数为 10000 个。GetRecords 可返回的数据的最大大小为 10MB。 | 如果某个调用返回此数据量，则在接下来的 5 秒内执行后续调用时，会引发 ProvisionedThroughputExceededException。如果流上的预置吞吐量不足，则在接下来的 1 秒内进行后续调用时，会引发 ProvisionedThroughputExceededException。 | 
| GetShardIterator | 5 TPS |  | 分片迭代器在其返回给请求者的 5 分钟后过期。如果 GetShardIterator 请求过于频繁，您会收到 ProvisionedThroughputExceededException。 | 
| PutRecord | 1000 TPS | 每个分片最多可以支持每秒写入 1000 条记录，最大数据写入总数为每秒 10 MiB。 |  Kinesis 旨在使用突增容量处理间歇性的大型记录（大小为 1-10MiB）。 | 
| PutRecords |  | 每个 PutRecords 请求最多可支持 500 条记录。请求中的每一个记录最大可以为 1 MiB，整个请求的上限为 10 MiB，包括分区键。每个分片最多可以支持每秒写入 1000 条记录，最大数据写入总数为每秒 1 MB。 |  Kinesis 旨在使用突增容量处理间歇性的大型记录（大小为 1-10MiB）。 | 
| SubscribeToShard | 每个分片的每个注册用户 SubscribeToShard 每秒可以拨打一个电话。 |  | 如果您 SubscribeToShard 再次使用相同的 consumerArn 拨打电话，ShardId 并且在成功通话后的 5 秒钟内，您将获得。ResourceInUseException | 

## 提升配额
<a name="increasing-kds-limits"></a>

如果配额是可调整的，则可以使用服务配额来请求增加配额。有些请求会自动得到解决，而另一些则提交给 Supp AWS ort。您可以跟踪提交给 Support 的配额增加请求的 AWS 状态。提高服务配额的请求没有得到优先支持。如果您有紧急请求，请联系 Su AWS pport。有关更多信息，请参阅[什么是服务配额？](https://docs.aws.amazon.com/servicequotas/latest/userguide/intro.html)。

要请求增加服务配额，请按照[请求增加配额](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html)中概述的步骤操作。