配额和限制 - Amazon Kinesis Data Streams
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

配额和限制

Amazon Kinesis Data Streams 具有以下流和分片配额和限制。

  • 在配置模式下,您在账户中可以拥有的直播数量没有上限限制。

  • 在你的范围内Amazon账户,在默认情况下,您可以使用按需容量模式创建多达 50 个数据流。如果您需要增加此配额,请联系Amazon支持。

  • 默认分片配额为每个 500 个分片Amazon说明以下内容Amazon区域:美国东部(弗吉尼亚北部)、美国西部(俄勒冈)和欧洲(爱尔兰)。对于所有其他区域,默认分片配额为每个 200 个分片Amazon账户。此限制仅适用于预置容量模式下的数据流。

    要申请增加每个数据流的分片数配额,请按照请求提升配额中概述的步骤操作。

  • 单个分片可以提取多达每秒 1 MB 的数据(包括分区键)或每秒写入 1000 个记录。同样,如果将流扩展到 5000 个分片,则流每秒可以提取多达 5 GB 数据或 500 万个记录。如果你需要更多的摄取容量,你可以使用Amazon Web Services Management Console或者UpdateShardCountAPI。

  • 使用 base64 编码之前记录的数据有效负载的最大大小为 1 MB。

  • GetRecords每次调用可以从单个分片中检索多达 10 MB 的数据,每次调用最多可检索 10,000 条记录。对 GetRecords 的每次调用都算作一个读取事务。

  • 每个分片每秒可支持多达 5 个读取事务。每个读取事务可提供多达 10000 个记录,每个事务的配额上限为 10 MB。

  • 每个分片可通过以下方式支持最大总数据读取速率为每秒 2 MBGetRecords. 如果对 GetRecords 的调用返回 10 MB,则在接下来的 5 秒内发出的后续调用将会引发异常。

  • 默认情况下,使用按需容量模式创建的新数据流具有 4 MB/s 的 “写入” 吞吐量和 8 MB/s 的 “读取” 吞吐量。随着流量的增加,采用按需容量模式的数据流可扩展至 200 MB/s 的 “写入” 吞吐量和 400 MB/s 的 “读取” 吞吐量。

  • 在你的范围内Amazon账户,在默认情况下,您可以使用按需容量模式创建多达 50 个数据流。如果您需要增加此配额,请联系Amazon支持。

  • 您可以为每个数据流创建 20 个注册使用者(增强型扇出限制)。

  • 对于您中的每个数据流Amazon账户,您可以在 24 小时内在按需和预置容量模式之间切换两次。

API 限制

LIKEAmazonAPI、Kinesis Data Streams API 操作受速率限制。以下限制对该项的适用Amazon每区域账户。有关 Kinesis Data Streams API 的更多信息,请参阅Amazon Kinesis API 参考.

KDS 控制层面 API 限制

下一节介绍 KDS 控制层面 API 限制。利用 KDS 控制平面 API,您可以创建和管理数据流。这些限制适用于Amazon每区域账户。

控制层面 API 限制
API API 调用限制 流级别限制 其他详细信息
AddTagsToStream 每秒 5 个事务 (TPS) 每个区域每个账户每个数据流 50 个标签
CreateStream 5 TPS 在账户中可以拥有的流数量没有配额上限。 您会收到 LimitExceededException 制作时 CreateStream在尝试执行下列操作时请求:
  • 在任何时间点,CREATING 状态中有五个以上的流。

  • 创建的分片数量超过了为您的账户授权的数量。

DecreaseStreamRetentionPeriod 5 TPS 数据流的保留期的最小值为 24 小时。
DeleteStream 5 TPS 不适用
DeregisterStreamConsumer 5 TPS 不适用
DescribeLimits 1 TPS
DescribeStream 10 TPS 不适用
DescribeStreamConsumer 20 TPS 不适用
DescribeStreamSummary 20 TPS 不适用
DisableEnhancedMonitoring 5 TPS 不适用
EnableEnhancedMonitoring 5 TPS 不适用
IncreaseStreamRetentionPeriod 5 TPS 直播保留期的最大值为 8760 小时(365 天)。
ListShards 100 TPS 不适用
ListStreamConsumers 5 TPS 不适用
ListStreams 5 TPS 不适用
ListTagsForStream 5 TPS 不适用
MergeShards 5 TPS 不适用
RegisterStreamConsumer 5 TPS 您最多可以为每个数据流注册 20 个使用者。每次只能在一个数据流中注册给定的使用者。只能同时创建 5 个使用者。换句话说,同时处于“正在创建”状态的使用者不能超过 5 个。在有 5 个消费者处于 CREATING 状态时注册第 6 个消费者会导致 LimitExceededException.
RemoveTagsFromStream 5 TPS 不适用
SplitShard 5 TPS 不适用
StartStreamEncryption 你可以成功申请新的Amazon在连续的 24 小时期间内,服务器端加密的 KMS 密钥 25 次。
StopStreamEncryption 在连续 24 小时期间,您可以成功禁用服务器端加密 25 次。
UpdateShardCount
  • 每个流每 24 小时滚动期间内扩展 10 次以上

  • 纵向扩展到流的当前分片计数的两倍以上

  • 将流的当前分片计数缩减到一半以下

  • 在一个流中纵向扩展到超过 10000 个分片

  • 将流的分片数缩减 10000 个以上(除非结果小于 10000 个分片)

  • 纵向扩展至超过您账户的分片限制

UpdateStreamMode
  • 对于您中的每个数据流Amazon账户,您可以在 24 小时内在按需和预置容量模式之间切换两次。

数据层面 API 限制

下一部分介绍 KDS 数据平面 API 的限制。利用 KDS 数据平面 API,您可以使用数据流实时收集和处理数据记录。下面是您的数据流中的每分片限制。

数据层面 API 限制
API API 调用限制 负载限制 其他详细信息
GetRecords 5 TPS 每次调用可返回的最大记录数为 10000 个。的最大大小 GetRecords 可以返回的容量为 10 MB。 如果一个调用返回了这个数量的数据,那么在接下来的 5 秒钟内进行的后续调用就会抛出ProvisionedThroughputExceededException. 如果流上的预置吞吐量不足,则在接下来的 1 秒内进行后续调用ProvisionedThroughputExceededException.
GetShardIterator 5 TPS 分片迭代器在其返回给请求者的 5 分钟后过期。如果 a GetShardIterator 请求太频繁了,你会收到一个 ProvisionedThroughputExceededException.
PutRecord 1000 TPS 每个分片最多可以支持每秒写入 1000 条记录,最大数据写入总数为每秒 1 MB。
PutRecords 每个 PutRecords 请求最多可支持 500 条记录。请求中的每一个记录最大可以为 1 MB,整个请求的上限为 5 MB,包括分区键。每个分片最多可以支持每秒写入 1000 条记录,最大数据写入总数为每秒 1 MB。
SubscribeToShard 你可以打个电话给 SubscribeToShard 每个分片中每个注册用户每秒的每秒。 如果你打电话 SubscribeToShard 再用同样的 ConsumerARN 还有ShardId 在成功通话后的 5 秒钟内,你会得到一个ResourceInUseException.

提升配额

如果配额是可调整的,则可以使用服务配额来请求增加配额。有些请求会自动解决,而另一些则提交给AmazonSupport。您可以追踪提交给的配额增加请求的状态AmazonSupport。提高服务配额的请求没有得到优先支持。如果您有紧急请求,请联系AmazonSupport。有关更多信息,请参阅什么是服务配额?

要请求增加服务配额,请按照请求增加配额中概述的步骤操作。