Amazon Kinesis Data Firehose
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

Amazon Kinesis Data Firehose 限制

Amazon Kinesis Data Firehose 有以下限制。

  • 默认情况下,每个账户在每个区域最多可以拥有 50 个 Kinesis Data Firehose 传输流。如果超出此限制,调用 CreateDeliveryStream 会导致 LimitExceededException 异常。可以通过 Amazon Kinesis Data Firehose 限制表单 提高该限制。

  • 如果将 Direct PUT 配置为数据源,每个 Kinesis Data Firehose 传输流 都会受以下限制的约束:

    • 对于美国东部(弗吉尼亚北部)、美国西部(俄勒冈)和欧洲(爱尔兰):5000 条记录/秒;2000 个事务/秒;5 MiB/秒。

    • 对于欧洲 (巴黎)、亚太地区(孟买)、美国东部(俄亥俄州)、欧洲(法兰克福)、南美洲(圣保罗)、亚太地区(香港)、亚太区域(首尔)、欧洲 (伦敦)、亚太区域(东京)、美国西部(加利福尼亚北部)、亚太区域(新加坡)、亚太区域(悉尼)、AWS GovCloud (US-West)、AWS GovCloud(美国东部)、欧洲(斯德哥尔摩)和加拿大 (中部):1,000 条记录/秒;1,000 个事务/秒;1 MiB/秒。

    您可以通过 Amazon Kinesis Data Firehose 限制表单提交限制提高请求。这三个限制成比例扩展。例如,如果将 美国东部(弗吉尼亚北部)、美国西部(俄勒冈) 或 欧洲(爱尔兰) 中的吞吐量限制增加到 10 MB/秒,其他两个限制将增加到 4000 个事务/秒和 10000 条记录/秒。

    重要

    如果增加的限制远高于运行的流量,这会导致传输到目标的批次很少。从而造成效率低下,并导致目标服务的成本高昂。请确保仅为满足当前运行的流量而增加限制,并在流量增加时进一步提高限制。

    注意

    当 Kinesis Data Streams 配置为数据源时,此限制不适用,Kinesis Data Firehose 可无限扩展和缩小。

  • 当传输目标不可用时,每个 Kinesis Data Firehose 传输流 可存储数据记录长达 24 小时。

  • 发送到 Kinesis Data Firehose 的最大记录大小为 1000 KB(进行 base64 编码前)。

  • PutRecordBatch 操作每次调用可处理 500 条记录或 4 MB,以较小者为准。此限制不能更改。

  • 以下操作每秒可提供最多 5 个事务:CreateDeliveryStreamDeleteDeliveryStreamDescribeDeliveryStreamListDeliveryStreamsUpdateDestinationTagDeliveryStreamUntagDeliveryStreamListTagsForDeliveryStreamStartDeliveryStreamEncryptionStopDeliveryStreamEncryption

  • 对于 Amazon S3 传输,缓冲区大小提示范围介于 1 MiB 到 128 MiB 之间。对于 Amazon Elasticsearch Service (Amazon ES) 交付,其范围介于 1 MiB 到 100 MiB 之间。对于 AWS Lambda 处理,您可以使用 BufferSizeInMBs 处理器参数设置一个介于 1 MB 与 3 MB 之间的缓冲区提示范围。大小阈值适用于压缩前的缓冲区。这些选项仅作为提示。Kinesis Data Firehose 可能会在必要时选择使用不同的值。

  • 缓冲间隔提示范围:60 秒 - 900 秒。

  • 对于从 Kinesis Data Firehose 到 Amazon Redshift 的传输,只支持可公开访问的 Amazon Redshift 集群。

  • 对于 Amazon Redshift 和 Amazon ES 传输,重试持续时间为 0 秒到 7200 秒。

  • Kinesis Data Firehose 支持 Elasticsearch 版本 1.5、2.3、5.1、5.3、5.5、5.6,以及所有版本 6.* 和 7.*。

  • Kinesis Data Firehose 不支持传输到 Virtual Private Cloud (VPC) 中的 Elasticsearch 域。

  • 当目标是 Amazon S3、Amazon Redshift 或 Amazon ES 时,Kinesis Data Firehose 允许每个分片最多 5 个未完成的 Lambda 调用。对于 Splunk,每个分片的限制为 10 个未完成的 Lambda 调用。