2016-05-09 6 views
14

Rozważmy następujący kod -AWS Lambda Funkcja zwraca Handler „obsługi” brakujący moduł „index”

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

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

To jest moja funkcja, która jest o logikę biznesową. Moja nazwa pliku javascript to index.js.

Ilekroć testuję ten kod na aws lambda, daje on następujące log(failed).

To jest zrzut ekranu z Amazon Lambda Załaduj Site: enter image description here

Odpowiedz

17

W export.handler, nie odwołują funkcję index, ale efektem jego realizacji. Chyba chcesz wyeksportować samą funkcję.

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

Albo bezpośrednio

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

Co można zrobić, to zadeklarować swoją funkcję jako exports.handler. Kiedy twoja funkcja eksportuje do lambda, przychodzi z przestrzenią nazw.

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

Możesz zignorować wywołanie zwrotne, jeśli chcesz szybki kod.