"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > Next.js और AWS Lambda के साथ सर्वर रहित API रूट बनाना

Next.js और AWS Lambda के साथ सर्वर रहित API रूट बनाना

2024-08-23 को प्रकाशित
ब्राउज़ करें:888

Creating Serverless API Routes with Next.js and AWS Lambda

आपका स्वागत है, देवों! आज, हम सर्वर रहित आर्किटेक्चर की दुनिया में गोता लगा रहे हैं, और खोज रहे हैं कि नेक्स्ट.जेएस और एडब्ल्यूएस लैम्ब्डा का उपयोग करके कुशल और स्केलेबल एपीआई रूट कैसे बनाएं। यह शक्तिशाली संयोजन हमें निरंतर सर्वर प्रबंधन की आवश्यकता के बिना मजबूत बैकएंड कार्यक्षमता बनाने की अनुमति देता है। आएँ शुरू करें!

सर्वर रहित एपीआई रूट क्या हैं?

सर्वर रहित एपीआई रूट अंतिम बिंदु हैं जो ऑन-डिमांड चलते हैं, अनुरोधों की संख्या के साथ स्वचालित रूप से स्केलिंग करते हैं। Next.js एपीआई मार्गों को AWS लैम्ब्डा के साथ जोड़कर, हम इन कुशल, लागत प्रभावी समापन बिंदुओं को बना सकते हैं जो केवल आवश्यकता पड़ने पर संसाधनों का उपभोग करते हैं।

1. नेक्स्ट.जेएस एपीआई रूट सेट करना

Next.js एपीआई रूट हमारे सर्वर रहित आर्किटेक्चर की नींव के रूप में काम करते हैं। वे हमें सीधे हमारे नेक्स्ट.जेएस एप्लिकेशन के भीतर एपीआई एंडपॉइंट बनाने की अनुमति देते हैं।

यह काम किस प्रकार करता है:

नेक्स्ट.जेएस एपीआई रूट विशेष फाइलें हैं जो आपके प्रोजेक्ट के पेज/एपीआई निर्देशिका में मौजूद हैं। वे पारंपरिक सर्वर एंडपॉइंट के समान, आने वाले अनुरोधों को संभालते हैं और प्रतिक्रियाएं भेजते हैं।

आइए अपना पहला एपीआई रूट बनाएं:

// pages/api/hello.js
export default function handler(req, res) {
  res.status(200).json({ message: 'Hello, World!' });
}

जब आप /api/hello पर जाते हैं तो यह सरल एपीआई मार्ग JSON ऑब्जेक्ट के साथ प्रतिक्रिया करता है। यह अधिक जटिल कार्यात्मकताओं के लिए एक बेहतरीन प्रारंभिक बिंदु है।

2. AWS लैम्ब्डा के साथ एकीकरण

अब जब हमारे पास अपना एपीआई रूट सेट हो गया है, तो आइए इसे AWS लैम्ब्डा से कनेक्ट करें। यह एकीकरण हमारे एपीआई मार्गों को सर्वर रहित वातावरण में चलाने की अनुमति देता है, मांग के आधार पर स्वचालित रूप से स्केलिंग करता है।

यह काम किस प्रकार करता है:

हमारे नेक्स्ट.जेएस एपीआई रूट्स को एडब्ल्यूएस लैम्ब्डा पर तैनात करने के लिए, हम सर्वरलेस-नेक्स्ट.जेएस घटक का उपयोग करेंगे। यह टूल Next.js को AWS सेवाओं से जोड़ने की प्रक्रिया को सरल बनाता है।

सबसे पहले, आवश्यक निर्भरताएँ स्थापित करें:

npm install --save-dev serverless-next.js

फिर, अपने प्रोजेक्ट रूट में एक सर्वर रहित.yml फ़ाइल बनाएं:

myNextApplication:
  component: serverless-next.js
  inputs:
    bucketName: my-unique-bucket-name

यह कॉन्फ़िगरेशन लैम्ब्डा फ़ंक्शन के रूप में तैनाती के लिए आपके नेक्स्ट.जेएस एपीआई मार्गों को तैयार करता है।

3. डायनामिक एपीआई रूट बनाना

नेक्स्ट.जेएस एपीआई रूट्स की शक्तिशाली विशेषताओं में से एक गतिशील एंडपॉइंट बनाने की क्षमता है। यह अधिक लचीली और पुन: प्रयोज्य एपीआई संरचनाओं की अनुमति देता है।

यह काम किस प्रकार करता है:

नेक्स्ट.जेएस में डायनामिक एपीआई रूट यूआरएल से पैरामीटर कैप्चर करने के लिए ब्रैकेट सिंटैक्स का उपयोग करते हैं। फिर इन मापदंडों का उपयोग आपके एपीआई तर्क के भीतर किया जा सकता है।

यहां एक गतिशील एपीआई मार्ग का एक उदाहरण दिया गया है:

// pages/api/users/[id].js
export default function handler(req, res) {
  const { id } = req.query;
  res.status(200).json({ userId: id, name: `User ${id}` });
}

यह मार्ग संबंधित उपयोगकर्ता जानकारी के साथ /api/users/1, /api/users/2, आदि जैसे अनुरोधों का जवाब देगा।

4. विभिन्न HTTP तरीकों को संभालना

एपीआई मार्गों को अक्सर विभिन्न प्रकार के अनुरोधों (प्राप्त करें, पोस्ट करें, डालें, हटाएं) को संभालने की आवश्यकता होती है। Next.js एकल हैंडलर फ़ंक्शन के साथ इसे सरल बनाता है।

यहां बताया गया है कि आप एकाधिक HTTP विधियों को कैसे संभाल सकते हैं:

// pages/api/data.js
export default function handler(req, res) {
  switch (req.method) {
    case 'GET':
      // Handle GET request
      res.status(200).json({ message: 'Data retrieved' });
      break;
    case 'POST':
      // Handle POST request
      res.status(201).json({ message: 'Data created' });
      break;
    default:
      res.setHeader('Allow', ['GET', 'POST']);
      res.status(405).end(`Method ${req.method} Not Allowed`);
  }
}

यह दृष्टिकोण आपको एक ही फ़ाइल के भीतर RESTful API एंडपॉइंट बनाने की अनुमति देता है।

जैसे-जैसे आप इस सर्वर रहित दृष्टिकोण का पता लगाना जारी रखेंगे, आप अपने अनुप्रयोगों को अनुकूलित करने और अपने विकास वर्कफ़्लो को बेहतर बनाने के और भी अधिक तरीके खोजेंगे।

क्या आप अपने नेक्स्ट.जेएस प्रोजेक्ट में सर्वर रहित एपीआई रूट लागू करने के लिए तैयार हैं? नीचे टिप्पणी में अपने विचार, अनुभव या प्रश्न साझा करें। आइए आधुनिक वेब विकास की सीमाओं को एक साथ आगे बढ़ाना जारी रखें!

खुश कोडिंग, और आपके सर्वर रहित कार्य हमेशा त्रुटिहीन रूप से निष्पादित हों!

विज्ञप्ति वक्तव्य यह लेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/a_shokn/creating-serverless-api-routes-with-nextjs-and-aws-lambda-3i94?1 यदि कोई उल्लंघन है, तो कृपया स्टडी_गोलंग@163.com पर संपर्क करें इसे हटाने के लिए
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3