在 Amazon Data Firehose 中转换源数据
Amazon Data Firehose 可以调用 Lambda 函数来转换传入的源数据,并将转换后的数据传输到目的地。当您创建 Firehose 流时,可以启用 Amazon Data Firehose 数据转换。
了解数据转换流
当您启用 Firehose 数据转换时,Firehose 会缓冲传入的数据。缓冲大小提示的范围在 0.2 MB 到 3 MB 之间。除 Splunk 和 Snowflake 以外,所有目的地的默认 Lambda 缓冲大小提示均为 1 MB。对于 Splunk 和 Snowflake,默认缓冲区提示为 256 KB。Lambda 缓冲间隔提示为 0 秒和 900 秒之间。除 Snowflake 以外,所有目的地的默认 Lambda 缓冲间隔提示均为 60 秒。对于 Snowflake,默认的缓冲提示间隔为 30 秒。要调整缓冲大小,请使用名为 BufferSizeInMBs
和 IntervalInSeconds
的 ProcessorParameter 设置 CreateDeliveryStream 或 UpdateDestination API 的 ProcessingConfiguration 参数。然后,Firehose 会使用 AWS Lambda 同步调用模式对每个缓冲批处理同步调用指定的 Lambda 函数。转换后的数据将从 Lambda 发送到 Firehose。当达到指定的目的地缓冲大小或缓冲间隔时(以先发生者为准),Firehose 会将其发送到目的地。
重要
Lambda 同步调用模式对请求和响应的负载大小限制均为 6MB。确保用于向函数发送请求的缓冲大小小于或等于 6 MB,并且函数返回的响应也不超过 6 MB。
Lambda 调用持续时间
Amazon Data Firehose 支持长达 5 分钟的 Lambda 调用时间。如果您的 Lambda 函数需要超过 5 分钟才能完成,您将收到以下错误:Firehose 在调用 AWS Lambda 时遇到超时错误。支持的最大函数超时为 5 分钟。
有关在发生此类错误时 Amazon Data Firehose 执行的操作的信息,请参阅处理数据转换失败 。