AWS लैम्ब्डा का उपयोग करके Amazon API गेटवे का परिचय

AWS लैम्ब्डा का उपयोग करके Amazon API गेटवे का परिचय

स्रोत नोड: 1860150

परिचय

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

सरल शब्दों में, एपीआई एक संदेशवाहक है; इसे कुछ उदाहरणों से समझते हैं। मान लीजिए कि आपको भूख लगी है और आपको घर पर कुछ पकाने की जरूरत है। यदि आप नूडल्स बनाना चाहते हैं, तो आप बस अलमारी से सामग्री निकाल लें, चूल्हे को आग लगा दें और इसे स्वयं बना लें। यह एक ऐसा कार्यक्रम है जो अपने संसाधनों से अपने दम पर कुछ कर रहा है। लेकिन कहते हैं कि आप पिज्जा चाहते हैं - आपके पास सामग्री नहीं है, और आपका घर का ओवन वास्तव में एक अच्छा खस्ता क्रस्ट बनाने के लिए उपयुक्त नहीं है। इसलिए आप इसके बजाय किसी पिज्जा प्लेस पर जाएं। लेकिन घर के विपरीत, आप सिर्फ किचन में जाकर पिज़्ज़ा बनाने के लिए उनकी सामग्री का उपयोग शुरू नहीं कर सकते हैं। वे नहीं चाहते कि आपके गंदे हाथ उनके सामान पर हों! तो आप क्या करेंगे? आपको काउंटर पर जाना होगा और ऑर्डर करना होगा - वहां एक मेनू सूचीबद्ध होगा कि आप कौन से पिज्जा ऑर्डर कर सकते हैं और कौन से टॉपिंग या अन्य विकल्प चुन सकते हैं। यह एक एपीआई है।

एक एप्लिकेशन प्रोग्रामिंग इंटरफ़ेस (एपीआई) नियमों का एक सेट है जो निर्दिष्ट करता है कि दो सॉफ़्टवेयर प्रोग्रामों को कैसे इंटरैक्ट करना चाहिए।

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

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

एचटीटीपी एपीआई

HTTP API एक प्रकार का API है जो डेटा भेजने और प्राप्त करने के लिए HTTP प्रोटोकॉल का उपयोग करता है। यह सॉफ्टवेयर प्रोग्रामों को HTTP अनुरोधों और प्रतिक्रियाओं का उपयोग करके डेटा भेजने और प्राप्त करने की अनुमति देता है। ये अनुरोध और प्रतिक्रियाएँ विभिन्न स्वरूपों में हो सकती हैं, जैसे कि सादा पाठ, JSON या XML। वे आमतौर पर अनुप्रयोगों की एक विस्तृत श्रृंखला में उपयोग किए जाते हैं, जिनमें वेब एप्लिकेशन, मोबाइल ऐप और माइक्रोसर्विसेज शामिल हैं। ये API REST API की तुलना में अपेक्षाकृत सस्ते हैं और बाद की तुलना में कम कार्यात्मकता रखते हैं।

अन्य एपीआई

REST API एक प्रकार का API है जो REST (प्रतिनिधि राज्य स्थानांतरण) नामक वास्तु सिद्धांतों के एक सेट का अनुसरण करता है। REST सॉफ्टवेयर आर्किटेक्चर की एक शैली है जो वेब एपीआई बनाने के लिए बाधाओं के एक सेट को परिभाषित करती है।

स्टेटफुल एपीआई

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

स्टेटलेस एपीआई

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

स्टेटफुल और स्टेटलेस एपीआई के बीच मुख्य अंतर

स्टेटफुल और स्टेटलेस एपीआई के बीच कुछ प्रमुख अंतर नीचे दिए गए हैं:

स्टेटफुल एपीआई

स्टेटलेस एपीआई

1. क्लाइंट अनुरोधों के बारे में डेटा संग्रहीत करने के लिए सर्वर-साइड सत्र की आवश्यकता होती है 1. क्लाइंट अनुरोधों के बारे में डेटा संग्रहीत करने के लिए सर्वर-साइड सत्र की आवश्यकता नहीं है
2. ये कभी-कभी स्टेटलेस एपीआई की तुलना में धीमे हो सकते हैं क्योंकि उन्हें डेटा की आवश्यकता होती है और समय लगता है। 2. स्टेटलेस एपीआई तेजी से होते हैं क्योंकि इन्हें अनुरोधों के बारे में डेटा की आवश्यकता नहीं होती है और स्टोर नहीं होती है।
3. स्टेटफुल एपीआई को स्केल करना आसान नहीं है  3. स्केल करना आसान है क्योंकि उन्हें पिछले अनुरोधों के बारे में डेटा बनाए रखने की आवश्यकता नहीं है।
4. आमतौर पर स्टेटलेस एपीआई की तुलना में कम सुरक्षित माना जाता है 4. इन्हें आमतौर पर ज्यादा सुरक्षित माना जाता है।

अमेज़न एपीआई गेटवे क्या है?

Amazon API गेटवे एक AWS सेवा है जिसका उपयोग स्टेटफुल (वेबसोकेट) और स्टेटलेस (HTTP और REST) ​​दोनों API को बनाने, बनाए रखने और मॉनिटर करने के लिए किया जाता है। हम इन एपीआई का उपयोग एक्सेस करने के लिए कर सकते हैं:

  1. कोई एडब्ल्यूएस सेवा
  2. AWS क्लाउड में संग्रहीत डेटा (जैसे S3 बाल्टी)
  3. कोई अन्य वेब सेवाएं।

यदि आप एक एपीआई डेवलपर हैं, तो आप अपने एपीआई को तीसरे पक्ष के डेवलपर्स के लिए भी आसानी से बना सकते हैं।

AWS API गेटवे के मुख्य रूप से दो प्रकार के उपयोगकर्ता हैं।

  1. i) एपीआई डेवलपर्स जो एपीआई गेटवे में आवश्यक कार्यक्षमता को सक्षम करने के लिए एपीआई बनाते और तैनात करते हैं
  2. ii) ऐप डेवलपर जो एपीआई डेवलपर के ग्राहक हैं।

अमेज़न एपीआई गेटवे आर्किटेक्चर

स्थापत्य

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

अमेज़न एपीआई गेटवे सुविधाएँ

  1. यह स्टेटफुल और स्टेटलेस एपीआई दोनों का समर्थन करता है। (उदाहरण: वेबसोकेट, एचटीटीपी और रेस्ट)।
  2. शक्तिशाली प्रमाणीकरण तंत्र में AWS पहचान, एक्सेस प्रबंधन नीतियां और लैम्ब्डा प्राधिकरण शामिल हैं।
  3. डेवलपर पोर्टल जहां एपीआई डेवलपर अपने एपीआई प्रकाशित कर सकते हैं।
  4. क्लाउडवॉच के लिए निष्पादन और एक्सेस लॉगिंग, जिसमें अलार्म सेट करने का विकल्प भी शामिल है।
  5. अन्य AWS सेवाओं के साथ एकीकरण जैसे AWS लाम्बा और एडब्ल्यूएस किनेसिस।
  6. AWS WAF के साथ एकीकरण का उपयोग वेब कारनामों से सुरक्षा के लिए किया जाता है, और AWS X-Ray का उपयोग प्रदर्शन विलंबता को समझने और जोर देने के लिए किया जाता है।

अमेज़न एपीआई गेटवे के साथ आरंभ करना

अब हम एक सर्वर रहित एपीआई बनाने जा रहे हैं। सर्वर रहित एपीआई में, हम सर्वर को प्रबंधित करने में समय व्यतीत करने के बजाय अपने एप्लिकेशन पर ध्यान केंद्रित कर सकते हैं। यह इस तरह काम करता है:

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

http एपीआई

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

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

लैम्ब्डा फंक्शन बनाएं

लैम्ब्डा फ़ंक्शन बनाना:

1) https://console.aws.amazon.com/lambda पर लैम्ब्डा कंसोल पर जाएं

2) क्रिएट फंक्शन पर क्लिक करें।

3) फ़ंक्शन नाम के रूप में "my-function" दर्ज करें।

4) पायथन 3.9 को रनटाइम के रूप में चुनें।

5) इस कार्य के लिए हमें अनुमतियाँ और उन्नत सेटिंग्स टैब में कुछ भी बदलने की आवश्यकता नहीं होगी क्योंकि इस प्रदर्शन के लिए डिफ़ॉल्ट अनुमतियाँ पर्याप्त हैं।

4) क्रिएट फंक्शन पर क्लिक करें।

चरण 2 - एक HTTP एपीआई बनाना

अमेज़न एपीआई

HTTP एपीआई आपके लैम्ब्डा फ़ंक्शन के लिए एक HTTP एंडपॉइंट प्रदान करता है। यह इस तरह काम करता है:

  • क्लाइंट HTTP API को क्वेरी सबमिट करता है
  • एपीआई लैम्ब्डा को ट्रिगर करता है जो लैम्ब्डा फ़ंक्शन को निष्पादित करता है
  • लैम्ब्डा एपीआई को परिणाम भेजता है
  • एपीआई क्लाइंट को प्राप्त प्रतिक्रिया के साथ प्रतिक्रिया करता है

HTTP API बनाने के चरण

1) https://console.aws.amazon.com/apigateway पर एपीआई गेटवे कंसोल पर जाएं

2) अपना पहला एचटीटीपी एपीआई बनाने के लिए बिल्ड पर क्लिक करें

3) एकीकरण के लिए एकीकरण जोड़ें पर क्लिक करें

4) लैम्ब्डा का चयन करें।

5) अपना लैम्ब्डा फंक्शन माय-फंक्शन दर्ज करें।

6) एपीआई नाम के लिए my-http-api दर्ज करें।

7) नेक्स्ट पर क्लिक करें।

8) आपके लिए बनाए गए मार्ग की समीक्षा करें और फिर अगला चुनें।

9) आपके लिए बनाए गए चरण की समीक्षा करें और फिर अगला चुनें।

10) क्रिएट पर क्लिक करें।

चरण 3 अपने एपीआई का परीक्षण करें -

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

अमेज़न एपीआई

हमारे एपीआई का परीक्षण करने के लिए

  1. https://console.aws.amazon.com/apigateway पर एपीआई गेटवे कंसोल पर जाएं
  2. अपना एपीआई चुनें।
  3. अपने एपीआई के इनवोक यूआरएल को नोट करें। (ऊपर की छवि देखें)
  4. अपने एपीआई के इनवोक यूआरएल को कॉपी करें, और इसे वेब ब्राउजर में पेस्ट करें। अपने लैम्ब्डा फ़ंक्शन को कॉल करने के लिए इनवोक URL और अपने लैम्ब्डा फ़ंक्शन के नाम से जुड़ें। एपीआई गेटवे कंसोल डिफ़ॉल्ट रूप से आपके लैम्ब्डा फ़ंक्शन "माय-फ़ंक्शन" के नाम का उपयोग करके एक मार्ग बनाता है। 

    The full URL should look like https://abcdef123.execute-api.us-east-2.amazonaws.com/my-function.When you load this URL, a GET request is sent by your browser to the API

  1. आपको टेक्स्ट "लैम्ब्डा से हैलो!" देखना चाहिए। आपके ब्राउज़र में। इसलिए आपकी एपीआई की प्रतिक्रिया सत्यापित है।

अमेज़न एपीआई

निष्कर्ष

हमने Amazon API गेटवे और AWS लैम्ब्डा का उपयोग करके अपना पहला HTTP API बनाया है। इसके अलावा, हम इसके विभिन्न उपयोग मामलों का पता लगा सकते हैं, और इसी तरह, हम REST API भी बना सकते हैं, जो अधिक कार्यात्मकता प्रदान करता है।

आपको यह लेख पसंद आया? अपने विचार हमें नीचे कमेंट में बताएं। साथ ही, यह बताना न भूलें कि आप आगे कौन सा लेख पढ़ना चाहेंगे।

समय टिकट:

से अधिक एनालिटिक्स विधा