Necesito tu ayuda para entender algunos conceptos. Tengo una aplicación web que usa Lambda@Edge en CloudFront. Esta función lambda accede a DynamoDB, realizando alrededor de 10 consultas independientes. Esto genera errores ocasionales, aunque funciona perfectamente cuando pruebo la función lambda de forma independiente. No puedo entender mucho los registros de la nube, y Lambda@Edge no aparece en CloudWatch.
Tengo la sensación de que las consultas de DynamoDB son las culpables. (porque eso es todo lo que hago en la función Lambda) Para asegurarme, replique los datos en todas las regiones. Pero eso no ha resuelto el problema. Aumenté el tiempo de espera y la memoria asignada a la función lambda. Pero eso no ha ayudado de ninguna manera. Pero, reducir la cantidad de consultas de base de datos parece ayudar.
¿Puedes ayudarme a entender esto? ¿Está mal hacer consultas de base de datos en Lambda@Edge? ¿Hay alguna forma de obtener registros detallados de Lambda@Edge?
Más de un año demasiado tarde, pero nunca se sabe si alguien se beneficia de ello. Lambda@Edge no se ejecuta en una región específica, por lo tanto, si se conecta a una tabla de DynamoDB, debe definir la región en la que se puede encontrar esta tabla.
En NodeJS, esto daría como resultado lo siguiente :
// Load the AWS SDK for Node.js var AWS = require('aws-sdk'); // Set the region AWS.config.update({region: 'REGION'}); // Create DynamoDB document client var docClient = new AWS.DynamoDB.DocumentClient({apiVersion: '2012-08-10'});Como mencionó F_SO_K, puede encontrar sus registros de CloudWatch en la región más cercana a usted. Cómo averiguar qué región sería esa (en caso de que sea el único que usa ese Lambda@Edge específico, puede consultar esta documentación )
Los registros de Lambda@Edge aparecen en CloudWatch en la región en la que se llamó a Lambda. Sospecho que simplemente necesita ingresar a CloudWatch y cambiar a la región correcta para ver los registros. Si llama a CloudWatch usted mismo, esta será la región en la que se encuentra, no la región en la que creó Lambda.
Una vez que tenga el registro, debería tener mucha más información para continuar.