एडब्ल्यूएस पर सर्वर रहित एप्लिकेशन बनाते समय, एडब्ल्यूएस लैम्ब्डा अक्सर सर्वर को प्रोविजनिंग या प्रबंधित किए बिना कोड चलाने के लिए सबसे अच्छा समाधान होता है। परंपरागत रूप से, AWS API गेटवे का उपयोग लैम्ब्डा फ़ंक्शंस को RESTful API के रूप में प्रदर्शित करने के लिए किया गया है। हालाँकि, AWS ने लैम्ब्डा फंक्शन यूआरएल पेश किया, जो एपीआई गेटवे को कॉन्फ़िगर करने के ओवरहेड के बिना HTTPS के माध्यम से लैम्ब्डा फ़ंक्शन को शुरू करने का एक आसान तरीका है। इस पोस्ट में, हम यह पता लगाएंगे कि सुरक्षा प्रमाणीकरण को शामिल करते हुए विभिन्न HTTP तरीकों - GET, POST, PUT, और DELETE - को संभालने के लिए लैम्ब्डा फ़ंक्शन URL का उपयोग कैसे करें।
लैम्ब्डा फ़ंक्शन यूआरएल आपके लैम्ब्डा फ़ंक्शन के लिए एक समर्पित HTTP(एस) एंडपॉइंट प्रदान करते हैं। यह सुविधा विशेष रूप से एकल-फ़ंक्शन माइक्रोसर्विसेज, हल्के एपीआई के लिए उपयोगी है, या जब आपको न्यूनतम सेटअप के साथ लैम्ब्डा फ़ंक्शन को जनता के सामने लाने की आवश्यकता होती है।
सबसे पहले, आइए एक लैम्ब्डा फ़ंक्शन बनाएं और उसका यूआरएल कॉन्फ़िगर करें। आप इसे AWS मैनेजमेंट कंसोल, AWS CLI, या इंफ्रास्ट्रक्चर एज़ कोड (IaC) टूल जैसे AWS क्लाउडफॉर्मेशन या टेराफॉर्म के माध्यम से कर सकते हैं।
एक लैम्ब्डा फ़ंक्शन बनाएं:
एक फ़ंक्शन यूआरएल बनाएं:
अपना फ़ंक्शन यूआरएल सुरक्षित करें:
फंक्शन यूआरएल द्वारा ट्रिगर किए गए लैम्ब्डा फ़ंक्शन एक ही फ़ंक्शन के भीतर कई HTTP तरीकों - GET, POST, PUT, और DELETE - को संभाल सकते हैं। इसे कार्यान्वित करने का एक सरल उदाहरण यहां दिया गया है:
import json def lambda_handler(event, context): # Determine the HTTP method http_method = event['httpMethod'] if http_method == 'GET': return handle_get(event) elif http_method == 'POST': return handle_post(event) elif http_method == 'PUT': return handle_put(event) elif http_method == 'DELETE': return handle_delete(event) else: return { 'statusCode': 405, 'body': json.dumps({'message': 'Method Not Allowed'}) } def handle_get(event): # Handle GET request logic return { 'statusCode': 200, 'body': json.dumps({'message': 'GET request received'}) } def handle_post(event): # Handle POST request logic return { 'statusCode': 200, 'body': json.dumps({'message': 'POST request received'}) } def handle_put(event): # Handle PUT request logic return { 'statusCode': 200, 'body': json.dumps({'message': 'PUT request received'}) } def handle_delete(event): # Handle DELETE request logic return { 'statusCode': 200, 'body': json.dumps({'message': 'DELETE request received'}) }
यदि आपने अपने फ़ंक्शन यूआरएल को सुरक्षित करने के लिए AWS_IAM का उपयोग करने का विकल्प चुना है, तो ग्राहकों को AWS SigV4 (हस्ताक्षर संस्करण 4) का उपयोग करके अनुरोधों पर हस्ताक्षर करने की आवश्यकता होगी। यहां प्रमाणित अनुरोध करने के तरीके का संक्षिप्त विवरण दिया गया है:
उदाहरण के लिए, AWS CLI के साथ:
aws lambda invoke-url https://.lambda-url. .on.aws/ \ --http-method POST \ --body '{ "key": "value" }' \ --region \ --profile
एडब्ल्यूएस लैम्ब्डा फ़ंक्शन यूआरएल एपीआई गेटवे की आवश्यकता के बिना HTTP के माध्यम से लैम्ब्डा फ़ंक्शन को उजागर करने का एक सुव्यवस्थित तरीका प्रदान करते हैं। लैम्ब्डा फ़ंक्शन के भीतर विभिन्न HTTP तरीकों (GET, POST, PUT, DELETE) को संभालकर और AWS IAM के साथ पहुंच सुरक्षित करके, आप जल्दी से हल्के, सुरक्षित एपीआई बना सकते हैं। चाहे आप एक साधारण माइक्रोसर्विस या अधिक जटिल एप्लिकेशन विकसित कर रहे हों, लैम्ब्डा फ़ंक्शन यूआरएल आपके AWS टूलकिट के लिए एक शक्तिशाली अतिरिक्त है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3