AWS API गेटवे के साथ सर्वर रहित Node.js API कैसे परिनियोजित करें?

Aws Api Getave Ke Satha Sarvara Rahita Node Js Api Kaise Pariniyojita Karem



AWS सेवाओं के विशाल पोर्टफोलियो वाला एक क्लाउड कंप्यूटिंग प्लेटफ़ॉर्म है। डेटा भंडारण से लेकर डेटा हेरफेर और डेटा विश्लेषण तक, ये सेवाएँ आईटी उद्योग के विभिन्न पहलुओं को कवर करती हैं। आज, AWS कई विकास भाषाओं और रनटाइम परिवेशों का भी समर्थन कर रहा है। ऐसी सेवाओं का सबसे आम उदाहरण AWS Lambda है

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

और पढ़ें : AWS लैम्ब्डा के साथ शुरुआत करना







त्वरित रूपरेखा



यह आलेख निम्नलिखित पहलुओं को दर्शाता है:



सर्वर रहित फ्रेमवर्क क्या है?

शब्द 'सर्वर रहित' उस शब्दावली को संदर्भित करता है जहां सर्वर का प्रावधान और रखरखाव तीसरे पक्ष के सॉफ़्टवेयर या क्लाउड प्रदाताओं द्वारा प्रबंधित किया जाता है। ऐसे फ्रेमवर्क उपयोगकर्ताओं को सर्वर को बनाए रखने के बजाय मुख्य व्यावसायिक तर्क पर ध्यान केंद्रित करने की अनुमति देते हैं। आज, सर्वरलेस फ्रेमवर्क ने टेक दिग्गजों का ध्यान आकर्षित किया है और भारी लाभ की पेशकश कर रहे हैं।





इसके अलावा, यह एक लागत प्रभावी समाधान भी है क्योंकि सर्वर सेवा प्रदाताओं द्वारा प्रदान और प्रबंधित किए जाते हैं। AWS में, लैम्ब्डा को सर्वर रहित सेवा माना जाता है क्योंकि इसे संचालित करने के लिए केवल उपयोगकर्ता से कोड की आवश्यकता होती है। AWS Lambda के साथ, उपयोगकर्ता लागत-प्रभावी तरीके से विभिन्न रनटाइम वातावरणों में आसानी से एप्लिकेशन बना और स्केल कर सकते हैं।

एपीआई क्या है?

एपीआई का संक्षिप्त रूप है 'अप्लिकेशन प्रोग्रामिंग अंतरफलक'। एपीआई के औपचारिक परिचय में यह शामिल है कि यह परिभाषाओं और प्रोटोकॉल का एक सेट है जो सॉफ़्टवेयर या एप्लिकेशन के दो घटकों को संचार के लिए उपयोगी जानकारी का आदान-प्रदान करने की अनुमति देता है।



एपीआई का वास्तविक समय अनुप्रयोग वेब ब्राउज़र का उपयोग करके होता है। जब भी कोई उपयोगकर्ता किसी वेबसाइट की खोज करता है, तो अनुरोध उस सर्वर पर भेज दिया जाता है जहां वेबसाइट स्थित है। सर्वर और ब्राउज़र के बीच यह संचार एपीआई के माध्यम से होता है।

एपीआई गेटवे क्या है?

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

एपीआई गेटवे में एपीआई के विभिन्न प्रकार क्या हैं?

एपीआई गेटवे नीचे बताए अनुसार तीन अलग-अलग प्रकार के एपीआई के लिए प्रबंधन सेवाएं प्रदान करता है:

HTTP एपीआई: इस एपीआई का उपयोग बड़े पैमाने पर वेब डेवलपमेंट में किया जाता है जो केवल क्लाइंट-साइड तक ही सीमित है। ऐसे एपीआई को या तो निजी या सार्वजनिक के रूप में वर्गीकृत किया जा सकता है।

बाकी एपीआई: REST शब्द का अर्थ है 'प्रतिनिधित्व राज्य स्थानांतरण एपीआई'। यह सबसे अधिक उपयोग किए जाने वाले तरीकों में से एक है जो एप्लिकेशन के फ्रंटएंड और बैकएंड को अलग करता है। REST API प्रकृति में स्टेटलेस हैं और विकास और कार्यान्वयन के लिए लचीले हैं।

वेबसॉकेट एपीआई: सॉकेट संचार शामिल होने पर ऐसे एपीआई का उपयोग किया जाता है। वेबसॉकेट एपीआई उपयोगकर्ताओं को वेब विकास में द्वि-दिशात्मक पूर्ण द्वैध संचार के लिए सॉकेट बनाने की अनुमति देता है। ये एपीआई जावास्क्रिप्ट में लिखे गए हैं।

एपीआई गेटवे के साथ सर्वर रहित नोड.जेएस एपीआई कैसे तैनात करें?

एपीआई गेटवे के साथ सर्वर रहित नोड.जेएस एपीआई की तैनाती के लिए, हम एस3 बकेट, लैम्ब्डा फंक्शन और एपीआई गेटवे का उपयोग करेंगे। S3 बकेट में एप्लिकेशन का कोड होगा। बकेट का अद्वितीय यूआरआई लैम्ब्डा फ़ंक्शन को हैंडलर के रूप में प्रदान किया जाएगा। एपीआई गेटवे को लैम्ब्डा फ़ंक्शन के ट्रिगर के रूप में जोड़ा जाएगा जो उपयोगकर्ता के इनपुट को संसाधित करेगा और उचित आउटपुट प्रदान करेगा।

एपीआई गेटवे के साथ सर्वर रहित नोड.जेएस एपीआई को तैनात करने के चरण नीचे दिए गए हैं:

चरण 1: एक लैम्ब्डा फ़ंक्शन बनाएं

लैम्ब्डा फ़ंक्शन बनाने के लिए, एक्सेस करें 'लैम्ब्डा' से सेवा एडब्ल्यूएस प्रबंधन कंसोल :

और अधिक जानें: 'पायथन रनटाइम के साथ लैम्ब्डा फ़ंक्शन कैसे बनाएं' .

लैम्ब्डा फ़ंक्शन इंटरफ़ेस पर, क्लिक करें 'फ़ंक्शन बनाएं' बटन:

फ़ंक्शन बनाएं इंटरफ़ेस से, चुनें 'शुरुआत से लेखक' विकल्प:

अगला आता है 'मूल जानकारी' अनुभाग। इस अनुभाग में, लैम्ब्डा फ़ंक्शन के लिए नाम प्रदान करें 'फ़ंक्शन का नाम' :

पर क्लिक करें 'फ़ंक्शन बनाएं' इंटरफ़ेस के नीचे स्थित बटन:

यहां ही समारोह सृजित किया गया सफलतापूर्वक :

चरण 2: एपीआई गेटवे बनाएं

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

एपीआई गेटवे इंटरफ़ेस को नीचे स्क्रॉल करें और पर क्लिक करें 'निर्माण' से विकल्प बाकी एपीआई अवरोध पैदा करना:

पर 'एपीआई बनाएं' इंटरफेस, चुनना निम्नलिखित हाइलाइट किया गया विकल्प . जैसा कि हम निर्माण कर रहे हैं बाकी एपीआई प्रारंभ से, हमने निम्नलिखित विकल्प चुने हैं:

में समायोजन उसी इंटरफ़ेस पर अनुभाग, एपीआई के लिए नाम प्रदान करें 'एपीआई नाम' पाठ्य से भरा:

पर क्लिक करें 'एपीआई बनाएं' बटन:

सफलतापूर्वक एपीआई बनाने के बाद, पर क्लिक करें 'क्रियाएँ' बटन दबाएं और एपीआई के संसाधनों और विधियों को कॉन्फ़िगर करने के लिए निम्नलिखित हाइलाइट किए गए विकल्पों का चयन करें:

इसके बाद, एपीआई का नाम प्रदान करें 'संसाधन का नाम' पाठ्य से भरा। में संसाधन पथ, उपयोगकर्ता संसाधनों का पथ निर्दिष्ट कर सकते हैं। इस निर्दिष्ट पथ को अनुरोधों को संभालने के लिए मूल तरीकों के साथ जोड़ा जाएगा। क्लिक करें 'संसाधन बनाएँ' बटन:

रिसोर्स बनाने के बाद पर क्लिक करें 'क्रियाएँ' फिर से टैब करें और चुनें 'संसाधन बनाएँ' एपीआई के अंदर तरीकों और संसाधनों को परिभाषित करने की विधि:

का नाम बताएं 'संसाधन का नाम' फ़ील्ड और पर क्लिक करें 'संसाधन बनाएँ' बटन:

नेस्टेड संसाधनों को कॉन्फ़िगर करने के बाद, टैप करें 'क्रियाएँ' बटन और पर क्लिक करें 'विधि बनाएँ' से बटन ड्रॉप डाउन मेनू :

हम इसका उपयोग करके अपने एपीआई की कार्यप्रणाली का परीक्षण करना चाहते हैं अनुरोध प्राप्त करें Node.js में इसलिए, मेथड्स इंटरफ़ेस में, हम चयन करेंगे 'पाना' अनुरोध:

चयन करने के बाद अनुरोध प्राप्त करें , पर क्लिक करें 'जाँच करना' परिवर्तनों की पुष्टि करने के लिए बटन:

पर 'पाना' विधि इंटरफ़ेस, लैम्ब्डा फ़ंक्शन के लिए नाम प्रदान करें जिसे हमने पहले बनाया था और निम्नलिखित कॉन्फ़िगरेशन करें। उसके बाद मारा 'बचाना' परिवर्तनों की पुष्टि करने के लिए बटन:

क्लिक करने के बाद 'बचाना' बटन, निम्नलिखित संवाद बॉक्स दिखाई देगा। क्लिक करें 'ठीक है' बटन:

इसी तरह, समान चरणों का पालन करके एक और विधि बनाएं जैसा हमने पहली विधि के लिए अपनाया है। उपयोगकर्ता अपनी आवश्यकताओं के आधार पर एक एपीआई के भीतर कई तरीके बना सकते हैं। सभी मेथड्स को कॉन्फिगर करने के बाद पर क्लिक करें 'क्रियाएँ' टैब चुनें और चुनें 'एपीआई तैनात करें' विकल्प:

यह निम्नलिखित संवाद बॉक्स प्रदर्शित करेगा. में 'तैनाती चरण' विवरण प्रदान करें. अगला आता है 'मंच का नाम' स्टेज का नाम निर्दिष्ट करने के लिए फ़ील्ड। पर क्लिक करें 'तैनात करना' बटन:

एपीआई रहा है सफलतापूर्वक बनाया गया :

नीचे स्क्रॉल करें इंटरफ़ेस और पर क्लिक करें 'परिवर्तनों को सुरक्षित करें' बटन:

चरण 3: S3 बाल्टी बनाएं

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

S3 बकेट बनाने के लिए, खोजें 'एस3' के खोज बार में सेवा एडब्ल्यूएस प्रबंधन कंसोल। प्रदर्शित परिणामों से सेवा का नाम टैप करें:

S3 कंसोल पर, क्लिक करें 'बाल्टी बनाएँ' प्रक्रिया आरंभ करने का विकल्प:

में सामान्य विन्यास अनुभाग, में बकेट के लिए विश्व स्तर पर विशिष्ट पहचानकर्ता प्रदान करें हाइलाइट किया गया टेक्स्ट फ़ील्ड :

रखकर समायोजन जैसा गलती करना , पर क्लिक करें 'बाल्टी बनाएँ' इंटरफ़ेस के नीचे बटन:

इससे बाल्टी बनेगी. अब, S3 बकेट में कोड अपलोड करने के लिए, हमने एक प्रदान किया है सरल नोड जेएस कोड में GitHub भण्डार. में कोड डाउनलोड करें ज़िप प्रारूप :

डाउनलोड करने के बाद ज़िप फ़ाइल , जाओ S3 डैशबोर्ड और बाल्टी चुनें. अगले इंटरफ़ेस पर, पर क्लिक करें 'डालना' बटन और डालना ज़िप फ़ाइल बाल्टी के लिए:

और अधिक जानें: अमेज़न सिंपल स्टोरेज सर्विस में ऑब्जेक्ट कैसे अपलोड करें?

थपथपाएं 'फाइलें जोड़ो' इंटरफ़ेस के दाईं ओर स्थित बटन, के निकट 'फ़ोल्डर जोड़ें' बटन। जोड़ने के बाद ज़िप फ़ाइल बाल्टी को, मारो 'डालना' इंटरफ़ेस के नीचे बटन:

फ़ाइल रहा है सफलतापूर्वक अपलोड किया गया :

बाद अपलोड हो रहा है फ़ाइल को बकेट में डालें, पर क्लिक करें वस्तु गुण देखने के लिए:

पर क्लिक करें 'S3 URI कॉपी करें' बटन। इसे लैम्ब्डा फ़ंक्शन में जोड़ा जाएगा:

के पास जाओ लैम्ब्डा डैशबोर्ड और लैम्ब्डा फ़ंक्शन चुनें:

नीचे स्क्रॉल करें 'कोड' अनुभाग और टैप करें 'यहां से अपलोड करें' बटन। से ड्रॉप डाउन मेनू, पर क्लिक करें 'अमेज़ॅन S3 स्थान' विकल्प:

चिपकाएँ 'एस3 यूआरआई' प्रदर्शित संवाद बॉक्स में और क्लिक करें 'बचाना' बटन:

पर लैम्ब्डा फ़ंक्शन इंटरफ़ेस , नीचे स्क्रॉल करें 'रनटाइम सेटिंग' और पर क्लिक करें 'संपादन करना' बटन:

में 'हैंडलर' फ़ील्ड, निम्नलिखित कॉन्फ़िगरेशन संपादित करें. 'नोडएपि' S3 बकेट पर अपलोड किया गया फ़ोल्डर नाम है और Index.js प्रवेश बिंदु है। इसके बाद पर क्लिक करें 'बचाना' बटन:

चरण 4: सत्यापन

के पास जाओ एपीआई गेटवे सर्विस कंसोल और पर क्लिक करें 'एपीआई' नाम:

एपीआई चुनने के बाद पर क्लिक करें 'चरण' साइडबार से बटन और फिर परिनियोजन चरण पर क्लिक करें, उदाहरण के लिए, प्रथम चरण:

कॉपी करें यूआरएल और लॉन्च करें डाकिया स्थानीय मशीन पर उपकरण:

एक बनाने के अनुरोध प्राप्त करें में डाकिया और इसमें यूआरएल पेस्ट करें। क्लिक करने के बाद 'भेजना' बटन, हमें निम्नलिखित परिणाम प्राप्त होते हैं:

इस गाइड से बस इतना ही।

निष्कर्ष

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