Creación de funciones de Lambda como destinos de aplicaciones - Guía para desarrolladores de Amazon Kinesis Data Analytics SQL para aplicaciones

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.

Creación de funciones de Lambda como destinos de aplicaciones

La aplicación Kinesis Data Analytics puede AWS Lambda utilizar funciones como salida. Kinesis Data Analytics proporciona plantillas para crear funciones de Lambda que se utilizan como destino de las aplicaciones. Utilice estas plantillas como punto de partida para el procesamiento posterior de la salida de las aplicaciones.

Creación de una función de Lambda como destino en Node.js

La siguiente plantilla para crear una función de Lambda de destino en Node.js está disponible en la consola:

Esquema de Lambda como salida Lenguaje y versión Descripción
kinesis-analytics-output Node.js 12.x Envía los registros de salida de una aplicación de Kinesis Data Analytics a un destino personalizado.

Creación de una función de Lambda como destino en Python

Las siguientes plantillas para crear una función de Lambda de destino en Python están disponibles en la consola:

Esquema de Lambda como salida Lenguaje y versión Descripción
kinesis-analytics-output-sns Python 2.7 Entregue los registros de salida de una aplicación de Kinesis Data Analytics a AmazonSNS.
kinesis-analytics-output-ddb Python 2.7 Entregue registros de salida desde una aplicación de Kinesis Data Analytics a Amazon DynamoDB.

Creación de una función de Lambda como destino en Java

Para crear una función de Lambda como destino en Java, utilice las clases de eventos de Java.

El código siguiente ilustra un ejemplo de función de Lambda como destino creada en Java:

public class LambdaFunctionHandler implements RequestHandler<KinesisAnalyticsOutputDeliveryEvent, KinesisAnalyticsOutputDeliveryResponse> { @Override public KinesisAnalyticsOutputDeliveryResponse handleRequest(KinesisAnalyticsOutputDeliveryEvent event, Context context) { context.getLogger().log("InvocatonId is : " + event.invocationId); context.getLogger().log("ApplicationArn is : " + event.applicationArn); List<KinesisAnalyticsOutputDeliveryResponse.Record> records = new ArrayList<KinesisAnalyticsOutputDeliveryResponse.Record>(); KinesisAnalyticsOutputDeliveryResponse response = new KinesisAnalyticsOutputDeliveryResponse(records); event.records.stream().forEach(record -> { context.getLogger().log("recordId is : " + record.recordId); context.getLogger().log("record retryHint is :" + record.lambdaDeliveryRecordMetadata.retryHint); // Add logic here to transform and send the record to final destination of your choice. response.records.add(new Record(record.recordId, KinesisAnalyticsOutputDeliveryResponse.Result.Ok)); }); return response; } }

Creación de un destino de función Lambda en. NET

Para crear una función Lambda de destino en. NET, utilice. NETclases de eventos.

El código siguiente ilustra un ejemplo de función de Lambda como destino creada en C#:

public class Function { public KinesisAnalyticsOutputDeliveryResponse FunctionHandler(KinesisAnalyticsOutputDeliveryEvent evnt, ILambdaContext context) { context.Logger.LogLine($"InvocationId: {evnt.InvocationId}"); context.Logger.LogLine($"ApplicationArn: {evnt.ApplicationArn}"); var response = new KinesisAnalyticsOutputDeliveryResponse { Records = new List<KinesisAnalyticsOutputDeliveryResponse.Record>() }; foreach (var record in evnt.Records) { context.Logger.LogLine($"\tRecordId: {record.RecordId}"); context.Logger.LogLine($"\tRetryHint: {record.RecordMetadata.RetryHint}"); context.Logger.LogLine($"\tData: {record.DecodeData()}"); // Add logic here to send to the record to final destination of your choice. var deliveredRecord = new KinesisAnalyticsOutputDeliveryResponse.Record { RecordId = record.RecordId, Result = KinesisAnalyticsOutputDeliveryResponse.OK }; response.Records.Add(deliveredRecord); } return response; } }

Para obtener más información sobre la creación de funciones Lambda para el preprocesamiento y los destinos en. NET, consulte. Amazon.Lambda.KinesisAnalyticsEvents