2016-05-09 13 views
14

consideri seguente codice -AWS Lambda Funzione sta tornando Handler 'handler' mancanti sul modulo 'indice'

function index(event, context, callback) { 
    //some code 
} 
exports.handler = index(); 

{ 
    "errorMessage": "Handler 'handler' missing on module 'index'" 
} 

Questa è la mia funzione che sta avendo la logica di business. Il mio nome file javascript è index.js.

Ogni volta che eseguo il test di questo codice su aws lambda, restituisce log(failed).

Questo è uno screenshot del Rio delle Amazzoni Lambda Carica sito: enter image description here

risposta

17

In export.handler, non fa riferimento la funzione index, ma il risultato della sua esecuzione. Immagino tu voglia esportare la funzione stessa.

let index = function index(event, context, callback) { 
    //some code 
} 
exports.handler = index; 

O forse direttamente

exports.handler = function index(event, context, callback) { 
    //some code 
} 
1

Che cosa si può fare è di dichiarare la vostra funzione del exports.handler. Quando la tua funzione esporta in lambda, viene fornito con lo spazio dei nomi.

exports.handler = function(event, context) { 
    //code 
} 

È possibile ignorare la richiamata se si desidera il codice veloce.