2016-05-09 6 views
14

कोड निम्नलिखित पर विचार करें लौटा रहा है -एडब्ल्यूएस लैम्ब्डा समारोह हैंडलर 'हैंडलर' मॉड्यूल 'सूचकांक' पर लापता

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

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

यह मेरा समारोह जो व्यापार तर्क रहा है है। मेरा जावास्क्रिप्ट फ़ाइल नाम index.js है।

जब भी मैं इस कोड को aws lambda पर परीक्षण करता हूं, तो यह log(failed) देता है। enter image description here

उत्तर

17

export.handler में, आप index समारोह को संदर्भित नहीं कर रहे हैं, लेकिन इसके निष्पादन का परिणाम:

यह अमेज़न लैम्ब्डा अपलोड साइट का स्क्रीनशॉट है। मुझे लगता है कि आप फ़ंक्शन को स्वयं निर्यात करना चाहते हैं।

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

या हो सकता है सीधे

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

आप क्या कर सकते exports.handler के रूप में अपने समारोह की घोषणा करने के लिए है। जब आपका फ़ंक्शन लैम्ब्डा में निर्यात करता है, तो यह नामस्थान के साथ आता है।

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

यदि आप तेज़ कोड चाहते हैं तो आप कॉलबैक को अनदेखा कर सकते हैं।

संबंधित मुद्दे