Transformación de los datos de origen en Amazon Data Firehose
Amazon Data Firehose puede invocar su función de Lambda para transformar los datos de entrada de origen y entregarlos transformados en sus destinos. Puede habilitar la transformación de datos de Amazon Data Firehose al crear el flujo de Firehose.
Comprenda el flujo de transformación de datos
Al habilitar la transformación de datos de Firehose, Firehose almacena en búfer los datos de entrada. La sugerencia de tamaño del búfer oscila entre 0,2 MB y 3 MB. La sugerencia de tamaño del búfer de Lambda predeterminado es de 1 MB para todos los destinos, excepto Splunk y Snowflake. Para Splunk y Snowflake, la sugerencia de almacenamiento en búfer predeterminado es de 256 KB. La sugerencia del intervalo de almacenamiento en búfer de Lambda oscila entre 0 y 900 segundos. La sugerencia de intervalo de almacenamiento en búfer de Lambda predeterminado es de sesenta segundos para todos los destinos, excepto Snowflake. Para Snowflake, la sugerencia del intervalo de almacenamiento en búfer predeterminado es de 30 segundos. Para ajustar el tamaño del búfer, defina el parámetro ProcessingConfiguration de la API CreateDeliveryStream o UpdateDestination con el ProcessorParameter denominado BufferSizeInMBs
y IntervalInSeconds
. A continuación, Firehose invoca de forma sincrónica la función de Lambda especificada con cada lote almacenado en búfer con el modo de invocación sincrónica de AWS Lambda. Los datos transformados se envían de Lambda a Firehose. A continuación, Firehose envía esos datos al destino cuando se alcanza en el destino el tamaño de almacenamiento en búfer o el intervalo de almacenamiento en búfer especificado (lo que ocurra primero).
importante
El modo de invocación sincrónica de Lambda tiene un límite de tamaño de carga de 6 MB para la solicitud y la respuesta. Asegúrese de que el tamaño de almacenamiento en búfer para enviar la solicitud a la función es inferior o igual a 6 MB. Asegúrese también de que la respuesta devuelta por la función no sea superior a 6 MB.
Duración de la invocación de Lambda
Amazon Data Firehose admite un tiempo de invocación a Lambda de hasta 5 minutos. Si la función de Lambda tarda más de 5 minutos en completarse, aparece el siguiente error: Firehose encountered timeout errors when calling AWS Lambda. The maximum supported function timeout is 5 minutes.
Para obtener información sobre lo que hace Amazon Data Firehose si se produce un error como este, consulte Gestión de los errores en la transformación de datos .