Uso de Lambda con Amazon MSK
nota
Si desea enviar datos a un destino que no sea una función de Lambda o enriquecer los datos antes de enviarlos, consulte Amazon EventBridge Pipes (Canalizaciones de Amazon EventBridge).
Amazon Managed Streaming para Apache Kafka (Amazon MSK) es un servicio completamente administrado que le permite crear y ejecutar aplicaciones que utilizan Apache Kafka para procesar datos de transmisión. Amazon MSK simplifica la configuración, el escalado y la administración de clústeres que ejecutan Kafka. Amazon MSK también facilita la configuración de la aplicación para varias zonas de disponibilidad y para la seguridad con AWS Identity and Access Management (IAM). Amazon MSK es compatible con múltiples versiones de código abierto de Kafka.
Amazon MSK como origen de eventos funciona de manera similar al uso de Amazon Simple Queue Service (Amazon SQS) o Amazon Kinesis. Lambda sondea internamente nuevos mensajes de la fuente del evento y luego invoca sincrónicamente la función de Lambda objetivo. Lambda lee los mensajes en lotes y los proporciona a su función como carga de eventos. El tamaño máximo del lote se puede configurar (el valor predeterminado son 100 mensajes). Para obtener más información, consulte Comportamiento de procesamiento por lotes.
aviso
Las asignaciones de orígenes de eventos de Lambda procesan cada evento al menos una vez, y puede producirse un procesamiento duplicado de registros. Para evitar posibles problemas relacionados con la duplicación de eventos, le recomendamos encarecidamente que haga que el código de la función sea idempotente. Para obtener más información, consulte ¿Cómo puedo hacer que mi función de Lambda sea idempotente?
Para ver un ejemplo de cómo configurar Amazon MSK como origen de eventos, consulte Uso de Amazon MSK como origen de eventos AWS Lambda
Temas
- Evento de ejemplo
- Configuración de orígenes de eventos de Amazon MSK para Lambda
- Procesamiento de mensajes de Amazon MSK con Lambda
- Filtrado de eventos con un origen de eventos de Amazon MSK
- Capturar lotes descartados para un origen de eventos de Amazon MSK
- Tutorial: Uso de una asignación de orígenes de eventos de Amazon MSK para invocar una función de Lambda
Evento de ejemplo
Lambda envía el lote de mensajes en el parámetro de evento cuando invoca su función. La carga de eventos contiene una matriz de mensajes. Cada elemento de matriz contiene detalles del tema y el identificador de partición de Amazon MSK, junto con una marca de hora y un mensaje codificado en base64.
{ "eventSource":"aws:kafka", "eventSourceArn":"arn:aws:kafka:us-east-1:123456789012:cluster/vpc-2priv-2pub/751d2973-a626-431c-9d4e-d7975eb44dd7-2", "bootstrapServers":"b-2.demo-cluster-1.a1bcde.c1.kafka.us-east-1.amazonaws.com:9092,b-1.demo-cluster-1.a1bcde.c1.kafka.us-east-1.amazonaws.com:9092", "records":{ "mytopic-0":[ { "topic":"mytopic", "partition":0, "offset":15, "timestamp":1545084650987, "timestampType":"CREATE_TIME", "key":"abcDEFghiJKLmnoPQRstuVWXyz1234==", "value":"SGVsbG8sIHRoaXMgaXMgYSB0ZXN0Lg==", "headers":[ { "headerKey":[ 104, 101, 97, 100, 101, 114, 86, 97, 108, 117, 101 ] } ] } ] } }