Tras considerarlo detenidamente, hemos decidido interrumpir Amazon Kinesis Data Analytics SQL para aplicaciones en dos pasos:
1. A partir del 15 de octubre de 2025, no podrá crear nuevos Kinesis Data Analytics SQL para aplicaciones.
2. Eliminaremos sus aplicaciones a partir del 27 de enero de 2026. No podrá iniciar ni utilizar Amazon Kinesis Data Analytics SQL para aplicaciones. A partir de ese momento, el soporte para Amazon Kinesis Data Analytics dejará SQL de estar disponible. Para obtener más información, consulte Suspensión de Amazon Kinesis Data Analytics SQL for Applications.
Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Uso de una función de Lambda como salida
Si AWS Lambda se utiliza como destino, puede realizar más fácilmente el posprocesamiento de SQL los resultados antes de enviarlos a un destino final. Entre las tareas de procesamiento posterior más frecuentes se incluyen las siguientes:
-
Acumulación de varias filas en un solo registro
-
Combinación de resultados actuales con resultados anteriores para procesar los datos que llegan tarde
-
Efectuar la entrega en diferentes destinos en función del tipo de información
-
Traducción del formato de los registros (por ejemplo, traducirlos a Protobuf)
-
Manipulación o transformación de cadenas
-
Enriquecimiento de datos después del procesamiento analítico
-
Procesamiento personalizado para casos de uso geoespaciales
-
Cifrado de datos
Las funciones Lambda pueden entregar información analítica a una variedad de AWS servicios y otros destinos, incluidos los siguientes:
Para obtener más información acerca de cómo crear aplicaciones de Lambda, consulte Introducción a AWS Lambda.
Temas
- Permisos para utilizar Lambda como salida
- Métricas para utilizar Lambda como salida
- Modelo de datos de entrada de eventos y modelo de respuesta de registros para utilizar Lambda como salida
- Frecuencia de invocación de Lambda como salida
- Adición de una función de Lambda para su uso como salida
- Errores comunes de Lambda como salida
- Creación de funciones de Lambda como destinos de aplicaciones
Permisos para utilizar Lambda como salida
Para usar Lambda como salida, la IAM función de salida Lambda de la aplicación requiere la siguiente política de permisos:
{ "Sid": "UseLambdaFunction", "Effect": "Allow", "Action": [ "lambda:InvokeFunction", "lambda:GetFunctionConfiguration" ], "Resource": "
FunctionARN
" }
Métricas para utilizar Lambda como salida
Utiliza Amazon CloudWatch para monitorizar el número de bytes enviados, los éxitos y los errores, etc. Para obtener información sobre CloudWatch las métricas emitidas por Kinesis Data Analytics con Lambda como salida, consulte Amazon Kinesis Analytics Metrics.
Modelo de datos de entrada de eventos y modelo de respuesta de registros para utilizar Lambda como salida
Para enviar los registros de salida de Kinesis Data Analytics, la función de Lambda debe respetar los modelos de datos de entrada de eventos y de respuesta de registros.
Modelo de datos de entrada de eventos
Kinesis Data Analytics envía continuamente los registros de salida de la aplicación a la Lambda como salida con el siguiente modelo de solicitud. Dentro de la función, debe iterar por la lista y aplicar la lógica de negocio para cumplir los requisitos de salida (tales como la transformación de datos antes de enviarlos a su destino final).
Campo | Descripción | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
invocationId |
El ID de invocación de Lambda (aleatorio). GUID | ||||||||||||
applicationArn |
La aplicación de Kinesis Data Analytics Amazon Resource Name ARN (). | ||||||||||||
registros
|
nota
retryHint
es un valor que aumenta para cada error de entrega. Este valor no se conserva de forma duradera y se restablece si la aplicación se interrumpe.
Modelo de respuesta de registros
Cada registro enviado a su Lambda como función de salida (con registroIDs) debe confirmarse con una Ok
o DeliveryFailed
y debe contener los siguientes parámetros. De lo contrario, Kinesis Data Analytics lo considera un error de entrega.
registros
|
Frecuencia de invocación de Lambda como salida
Una aplicación de análisis de datos de Kinesis Data Analytics almacena en búfer los registros de salida e invoca con frecuencia la función de destino de AWS Lambda .
-
Si los registros se emiten a la transmisión de destino dentro de la aplicación de análisis de datos como una ventana desplegable, la función de AWS Lambda destino se invoca por cada activación de la ventana invertida. Por ejemplo, si se utiliza una ventana de saltos de 60 segundos para emitir los registros a la secuencia en la aplicación de destino, la función de Lambda se invoca una vez cada 60 segundos.
-
Si los registros se emiten a la secuencia en la aplicación de destino dentro de la aplicación como ventana deslizante o de consulta continua, la función de destino de Lambda se invoca aproximadamente una vez por segundo.
nota
Se aplican los límites de tamaño de carga de solicitud de invocación para cada función de Lambda. Si se superan esos límites, los registros salientes se dividen y se envían a través de varias llamadas de funciones de Lambda.
Adición de una función de Lambda para su uso como salida
El siguiente procedimiento muestra cómo añadir una función de Lambda como salida para una aplicación de Kinesis Data Analytics.
-
Elija la aplicación en la lista y, a continuación, elija Application details.
-
En la sección Destination, elija Connect new destination.
-
En el elemento Destination, elija la función AWS Lambda .
-
En la sección Entregar registros a AWS Lambda, elija una función de Lambda existente o elija Crear nueva.
-
Si va a crear una función de Lambda nueva, haga lo siguiente:
-
Elija una de las plantillas que se proporcionan. Para obtener más información, Creación de funciones de Lambda como destinos de aplicaciones.
-
Se abre la página Create Function (Crear función) en una nueva pestaña del navegador web. En el cuadro Name (Nombre), indique un nombre significativo para la función (por ejemplo,
myLambdaFunction
). -
Actualice la plantilla con la funcionalidad de procesamiento posterior que necesite su aplicación. Para obtener más información acerca de la creación de una función de Lambda, consulte Introducción en la Guía para desarrolladores de AWS Lambda .
-
En la consola de Kinesis Data Analytics, en la lista función de Lambda, elija la función de Lambda que acaba de crear. Elija $ LATEST para la versión de la función Lambda.
-
-
En la sección In-application stream, elija Choose an existing in-application stream. En In-application stream name, elija la secuencia de salida de la aplicación. Los resultados de la secuencia de salida seleccionada se envían a la función de salida de Lambda.
-
Deje el resto del formulario con los valores predeterminados, y elija Save and continue.
Ahora, la aplicación envía los registros de la secuencia en la aplicación a la función de Lambda. Puedes ver los resultados de la plantilla predeterminada en la CloudWatch consola de Amazon. Monitorice la métrica AWS/KinesisAnalytics/LambdaDelivery.OkRecords
para ver el número de registros entregados a la función de Lambda.
Errores comunes de Lambda como salida
A continuación se indican los motivos comunes por los que puede no efectuarse la entrega a una función de Lambda.
-
No todos los registros (con registroIDs) de un lote que se envían a la función Lambda se devuelven al servicio Kinesis Data Analytics.
-
En la respuesta falta el campo de estado o el ID de registro.
-
Los tiempos de espera de la función de Lambda no son suficientes para ejecutar la lógica de negocio de la función de Lambda.
-
La lógica de negocio de la función de Lambda no captura todos los errores, lo que provoca tiempos de espera y resistencias que se deben a las excepciones no controladas. En ocasiones se denominan mensajes de “píldora venenosa”.
Para errores de entrega de datos, Kinesis Data Analytics sigue reintentando las invocaciones de Lambda en el mismo conjunto de registros hasta que tiene éxito. Para obtener información sobre los errores, puede supervisar las siguientes métricas: CloudWatch
-
Lambda como métrica de CloudWatch salida de la aplicación Kinesis Data Analytics: indica el número de éxitos y fracasos, entre otras estadísticas. Para obtener más información, consulte Amazon Kinesis Analytics Metrics.
-
AWS Lambda CloudWatch métricas y registros de funciones.