Uso de Lambda con Amazon MSK - AWS Lambda

Uso de Lambda con Amazon MSK

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 de 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).

En este capítulo se explica cómo utilizar un clúster de Amazon MSK como origen de eventos para su función de Lambda. El proceso general de integración de Amazon MSK con Lambda implica los siguientes pasos:

  1. Configuración del clúster y la red: primero, configure su clúster de Amazon MSK. Esto incluye la configuración de red correcta para permitir que Lambda acceda a su clúster.

  2. Configuración de la asignación de orígenes de eventos: luego, cree el recurso de asignación de orígenes de eventos que Lambda necesita para conectar de forma segura su clúster de Amazon MSK a su función.

  3. Configuración de la función y los permisos: por último, asegúrese de que su función esté configurada correctamente y de que cuente con los permisos necesarios en su rol de ejecución.

Para ver ejemplos sobre cómo configurar una integración de Lambda con un clúster de Amazon MSK, consulte Tutorial: Uso de una asignación de orígenes de eventos de Amazon MSK para invocar una función de Lambda, Using Amazon MSK as an event source for AWS Lambda en AWS Compute Blog, y Amazon MSK Lambda Integration en Amazon MSK Labs.

Evento de ejemplo de

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 ] } ] } ] } }