Ejemplos de Amazon MSK con SDK para JavaScript (v3) - Ejemplos de código de AWS SDK

Hay más ejemplos de AWS SDK disponibles en el repositorio de GitHub de ejemplos de AWS SDK de documentos.

Ejemplos de Amazon MSK con SDK para JavaScript (v3)

Los siguientes ejemplos de código muestran cómo realizar acciones e implementar escenarios comunes usando AWS SDK para JavaScript (v3) con Amazon MSK.

En cada ejemplo se incluye un enlace al código de origen completo, con instrucciones de configuración y ejecución del código en el contexto.

Ejemplos de tecnología sin servidor

El siguiente ejemplo de código muestra cómo implementar una función de Lambda que recibe un evento desencadenado recibiendo registros de un clúster de Amazon MSK. La función recupera la carga útil de MSK y registra el contenido del registro.

SDK para JavaScript (v3)
nota

Hay más en GitHub. Busque el ejemplo completo y aprenda a configurar y ejecutar en el repositorio de ejemplos de tecnología sin servidor.

Uso de un evento de Amazon MSK con Lambda mediante JavaScript.

exports.handler = async (event) => { // Iterate through keys for (let key in event.records) { console.log('Key: ', key) // Iterate through records event.records[key].map((record) => { console.log('Record: ', record) // Decode base64 const msg = Buffer.from(record.value, 'base64').toString() console.log('Message:', msg) }) } }

Consumo de un evento de Amazon MSK con Lambda mediante TypeScript.

import { MSKEvent, Context } from "aws-lambda"; import { Buffer } from "buffer"; import { Logger } from "@aws-lambda-powertools/logger"; const logger = new Logger({ logLevel: "INFO", serviceName: "msk-handler-sample", }); export const handler = async ( event: MSKEvent, context: Context ): Promise<void> => { for (const [topic, topicRecords] of Object.entries(event.records)) { logger.info(`Processing key: ${topic}`); // Process each record in the partition for (const record of topicRecords) { try { // Decode the message value from base64 const decodedMessage = Buffer.from(record.value, 'base64').toString(); logger.info({ message: decodedMessage }); } catch (error) { logger.error('Error processing event', { error }); throw error; } }; } }