在 Amazon Data Firehose 中转换源数据 - Amazon Data Firehose

将 Amazon Data Firehose 流传输到亚马逊 S3 中的 Apache Iceberg Tables 处于预览阶段,可能会发生变化。

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

在 Amazon Data Firehose 中转换源数据

Amazon Data Firehose 可以调用您的 Lambda 函数来转换传入的源数据并将转换后的数据传送到目的地。您可以在创建 Firehose 直播时启用亚马逊数据 Firehose 数据转换。

了解数据转换流程

当你启用 Firehose 数据转换时,Firehose 会缓冲传入的数据。缓冲大小提示介于 0.2 MB 和 3MB 之间。除了 Splunk 和 Snowflake 之外,所有目标的默认 Lambda 缓冲大小提示均为 1 MB。对于 Splunk 和 Snowflake,默认的缓冲提示为 256 KB。Lambda 缓冲间隔提示的范围在 0 到 900 秒之间。除了 Snowflake 以外的所有目的地,默认 Lambda 缓冲间隔提示为六十秒。对于 Snowflake,默认的缓冲提示间隔为 30 秒。要调整缓冲区大小,请使用ProcessorParameter调用的BufferSizeInMBsIntervalInSeconds设置CreateDeliveryStreamUpdateDestinationAPI的ProcessingConfiguration参数。然后,Firehose 使用同步调用模式对每个缓冲批次异步调用指定的 Lambda 函数。 AWS Lambda 转换后的数据将从 Lambda 发送到 Firehose。然后,当达到指定的目标缓冲大小或缓冲间隔(以先发生者为准)时,Firehose 将其发送到目标。

重要

Lambda 同步调用模式对请求和响应的负载大小限制均为 6MB。确保用于向函数发送请求的缓冲大小小于或等于 6 MB,并且函数返回的响应也不超过 6 MB。

Lambda 调用时长

Amazon Data Firehose 支持长达 5 分钟的 Lambda 调用时间。如果您的 Lambda 函数需要超过 5 分钟才能完成,则会收到以下错误:Firehose 在调用 Lambda 时遇到超时错误。 AWS 支持的最大函数超时为 5 分钟。

有关发生此类错误时 Amazon Data Firehose 会如何处理的信息,请参阅。处理数据转换失败