सर्वरलेस और AWS Lambda की दुनिया का परिचय
\n\nआधुनिक क्लाउड डेवलपमेंट तेजी से सर्वरलेस आर्किटेक्चर की ओर बढ़ रहा है। नाम के बावजूद, सर्वर कहीं गायब नहीं होते - आप बस उनके बारे में सोचना बंद कर देते हैं। AWS Lambda Amazon की एक सेवा है जो आपको सर्वरों को आवंटित और प्रबंधित किए बिना कोड चलाने की अनुमति देती है। आप केवल वास्तविक निष्पादन समय और अनुरोधों की संख्या के लिए भुगतान करते हैं।
\n\nइस लेख में, हम AWS Lambda को JavaScript (Node.js) पर मूल बातों से लेकर वास्तविक उदाहरणों तक समझेंगे। आप सीखेंगे कि फ़ंक्शन कैसे बनाएं, कॉन्फ़िगर करें और डिप्लॉय करें, साथ ही सर्वोत्तम अभ्यासों से भी परिचित होंगे।
\n\nNode.js के लिए AWS Lambda की मूल बातें
\n\nLambda-फ़ंक्शन क्या है?
\nLambda-फ़ंक्शन कोड का एक पृथक ब्लॉक है जो किसी घटना (ट्रिगर) के जवाब में निष्पादित होता है। फ़ंक्शन इनपुट के रूप में event (घटना डेटा) और context (निष्पादन वातावरण की जानकारी) प्राप्त करता है और परिणाम लौटाता है।
सबसे सरल Lambda-फ़ंक्शन की संरचना
\nNode.js पर मूल फ़ंक्शन इस प्रकार दिखता है:
\n\nexports.handler = async (event, context) => {\n const name = event.queryStringParameters?.name || 'अतिथि';\n const response = {\n statusCode: 200,\n body: JSON.stringify({ message: `नमस्ते, ${name}!` }),\n };\n return response;\n};\n\n- \n
- exports.handler — अनिवार्य प्रवेश बिंदु। \n
- event — इसमें ट्रिगर द्वारा भेजा गया डेटा होता है (उदाहरण के लिए, API Gateway से HTTP अनुरोध)। \n
- context — निष्पादन के साथ काम करने के लिए विधियाँ प्रदान करता है (समय, लॉगर, पहचानकर्ता)। \n
- फ़ंक्शन को async होना चाहिए या Promise लौटाना चाहिए। \n
ट्रिगर (कॉल स्रोत)
\nLambda खालीपन में मौजूद नहीं है। इसे निम्न द्वारा कॉल किया जा सकता है:
\n- \n
- API Gateway — HTTP अनुरोध (REST/WebSocket)। \n
- S3 — फ़ाइल अपलोड/हटाना। \n
- DynamoDB Streams — डेटाबेस में परिवर्तन। \n
- SQS/SNS — संदेश कतारें। \n
- CloudWatch Events — शेड्यूल (cron)। \n
Lambda-फ़ंक्शन का निर्माण और डिप्लॉय
\n\nचरण 1: वातावरण सेटअप
\nआपको आवश्यकता होगी:
\n- \n
- AWS खाता। \n
- इंस्टॉल किया गया AWS CLI और कॉन्फ़िगर की गई credentials। \n
- Node.js (AWS द्वारा अनुशंसित संस्करण 18 या 20)। \n
चरण 2: कंसोल के माध्यम से फ़ंक्शन बनाना
\nशुरुआती लोगों के लिए यह सबसे तेज़ तरीका है:
\n- \n
- AWS Management Console → Lambda पर जाएं। \n
- "फ़ंक्शन बनाएं" → "स्क्रैच से" पर क्लिक करें। \n
- नाम दर्ज करें, runtime Node.js 20.x चुनें। \n
- "बनाएं" पर क्लिक करें। \n
कोड एडिटर में हमारा ऊपर दिया गया उदाहरण पेस्ट करें और "Deploy" पर क्लिक करें। हो गया!
\n\nचरण 3: AWS CLI के साथ डिप्लॉय
\nडिप्लॉय को स्वचालित करने के लिए कमांड का उपयोग करें:
\nzip -r function.zip index.js node_modules\naws lambda update-function-code \\\n --function-name my-first-lambda \\\n --zip-file fileb://function.zip\n\nउन्नत परिदृश्य और सर्वोत्तम अभ्यास
\n\nपर्यावरण चर के साथ काम करना
\nकोड में कभी भी रहस्य न रखें। process.env का उपयोग करें:
const dbPassword = process.env.DB_PASSWORD;\nconst tableName = process.env.TABLE_NAME;\nचर फ़ंक्शन सेटिंग्स (Configuration → Environment variables) में सेट किए जाते हैं।
\n\nत्रुटि प्रबंधन और लॉगिंग
\nबिल्ट-इन लॉगर console.log का उपयोग करें - यह स्वचालित रूप से CloudWatch में लॉग भेजता है:
exports.handler = async (event) => {\n console.log('Event प्राप्त हुआ:', JSON.stringify(event, null, 2));\n try {\n // आपका कोड\n } catch (error) {\n console.error('त्रुटि:', error.message);\n throw e