Soy bastante nuevo tanto en nodejs como en AWS Lambda. He creado una función nodejs muy pequeña que funciona bien localmente. Ahora necesito ejecutarlo en AWS Lambda, pero parece que hay algunos requisitos de controladores que no entiendo completamente.
A continuación se muestra mi función nodejs que necesito para ejecutarla en Lambda. ¿Alguna idea de qué cambios debo hacer para ejecutarlo en AWS? Gracias
(async function () { DOMAIN = "abc.xyz.com"; KEY = "***"; const mailchimpClient = require("@mailchimp/mailchimp_transactional")(KEY); const run = async () => { const response = await mailchimpClient.senders.addDomain({ domain: DOMAIN, }); console.log(response); }; run(); })();Básicamente, solo necesita exportar una función con un nombre específico: controlador
exports.handler = async function(event, context) { console.log("EVENT: \n" + JSON.stringify(event, null, 2)) return "foo.bar" }En este controlador, solo necesita devolver algo para marcar como exitoso o lanzar un error para marcar como falla.
En tu caso, esto debería funcionar:
var DOMAIN = "abc.xyz.com"; var KEY = "***"; const mailchimpClient = require("@mailchimp/mailchimp_transactional")(KEY); exports.handler = async function(event, context) { const response = await mailchimpClient.senders.addDomain({ domain: DOMAIN, }); console.log(response); return "success" }Aquí más ejemplos y configuraciones avanzadas:
Depende de si está utilizando algún marco para crear su código sin servidor aws.
Sin embargo, su código habitual sería algo como esto.
exports.handler = function(event, context) { console.log('Lambda A Received event:', JSON.stringify(event, null, 2)); context.succeed('Hello ' + event.name); };Si desea una manera más fácil de trabajar con el código sin servidor de AWS, como Lambdas, consulte arc.codes
Además, aquí hay un enlace a los documentos de AWS https://docs.aws.amazon.com/lambda/latest/dg/nodejs-handler.html