"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > AWS लैम्ब्डा फ़ंक्शन URL के साथ API एक्सेस को सरल बनाना: अंतर्निहित सुरक्षा के साथ GET, POST, PUT और DELETE को संभालना

AWS लैम्ब्डा फ़ंक्शन URL के साथ API एक्सेस को सरल बनाना: अंतर्निहित सुरक्षा के साथ GET, POST, PUT और DELETE को संभालना

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

Simplifying API Access with AWS Lambda Function URLs: Handling GET, POST, PUT, and DELETE with Built-in Security

एडब्ल्यूएस पर सर्वर रहित एप्लिकेशन बनाते समय, एडब्ल्यूएस लैम्ब्डा अक्सर सर्वर को प्रोविजनिंग या प्रबंधित किए बिना कोड चलाने के लिए सबसे अच्छा समाधान होता है। परंपरागत रूप से, AWS API गेटवे का उपयोग लैम्ब्डा फ़ंक्शंस को RESTful API के रूप में प्रदर्शित करने के लिए किया गया है। हालाँकि, AWS ने लैम्ब्डा फंक्शन यूआरएल पेश किया, जो एपीआई गेटवे को कॉन्फ़िगर करने के ओवरहेड के बिना HTTPS के माध्यम से लैम्ब्डा फ़ंक्शन को शुरू करने का एक आसान तरीका है। इस पोस्ट में, हम यह पता लगाएंगे कि सुरक्षा प्रमाणीकरण को शामिल करते हुए विभिन्न HTTP तरीकों - GET, POST, PUT, और DELETE - को संभालने के लिए लैम्ब्डा फ़ंक्शन URL का उपयोग कैसे करें।

लैम्ब्डा फ़ंक्शन यूआरएल क्या हैं?

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

लैम्ब्डा फ़ंक्शन यूआरएल सेट करना

सबसे पहले, आइए एक लैम्ब्डा फ़ंक्शन बनाएं और उसका यूआरएल कॉन्फ़िगर करें। आप इसे AWS मैनेजमेंट कंसोल, AWS CLI, या इंफ्रास्ट्रक्चर एज़ कोड (IaC) टूल जैसे AWS क्लाउडफॉर्मेशन या टेराफॉर्म के माध्यम से कर सकते हैं।

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

    • एडब्ल्यूएस लैम्ब्डा कंसोल पर जाएं।
    • "फ़ंक्शन बनाएं" पर क्लिक करें।
    • "शुरुआत से लेखक" विकल्प चुनें।
    • अपने फ़ंक्शन का नाम, रनटाइम और निष्पादन भूमिका परिभाषित करें।
    • अपना फ़ंक्शन कोड लिखें या एक परिनियोजन पैकेज अपलोड करें।
  2. एक फ़ंक्शन यूआरएल बनाएं:

    • अपने फ़ंक्शन के कॉन्फ़िगरेशन के अंतर्गत, "फ़ंक्शन यूआरएल" टैब चुनें।
    • “फ़ंक्शन यूआरएल बनाएं” पर क्लिक करें
    • प्राधिकरण प्रकार चुनें (उदाहरण के लिए, प्रमाणित पहुंच के लिए AWS_IAM या सार्वजनिक पहुंच के लिए कोई नहीं)।
    • "फ़ंक्शन यूआरएल बनाएं" पर क्लिक करें।
  3. अपना फ़ंक्शन यूआरएल सुरक्षित करें:

    • आप प्राधिकरण प्रकार के रूप में AWS_IAM का चयन करके प्रमाणीकरण के लिए AWS IAM का उपयोग कर सकते हैं।
    • यह नियंत्रित करने के लिए IAM भूमिकाएं या नीतियां बनाएं कि कौन से उपयोगकर्ता या सेवाएं URL के माध्यम से फ़ंक्शन को लागू कर सकती हैं।
    • वैकल्पिक रूप से, आप पहुंच को और अधिक प्रतिबंधित करने के लिए फ़ंक्शन के भीतर ही कस्टम प्राधिकरण तर्क लागू कर सकते हैं।

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

फंक्शन यूआरएल द्वारा ट्रिगर किए गए लैम्ब्डा फ़ंक्शन एक ही फ़ंक्शन के भीतर कई 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) का उपयोग करके अनुरोधों पर हस्ताक्षर करने की आवश्यकता होगी। यहां प्रमाणित अनुरोध करने के तरीके का संक्षिप्त विवरण दिया गया है:

  1. लैम्ब्डा फ़ंक्शन को लागू करने के लिए उचित अनुमतियों के साथ एक IAM उपयोगकर्ता/भूमिका बनाएं
  2. अनुरोध पर हस्ताक्षर करें: HTTP अनुरोध पर हस्ताक्षर करने के लिए AWS SDKs, CLI, या पोस्टमैन (AWS IAM प्रमाणीकरण के साथ) जैसे टूल का उपयोग करें।
  3. फंक्शन यूआरएल को लागू करें: सुनिश्चित करें कि हस्ताक्षरित अनुरोध में वैध क्रेडेंशियल शामिल हैं; अन्यथा, अनुरोध अस्वीकार कर दिया जाएगा।

उदाहरण के लिए, 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 टूलकिट के लिए एक शक्तिशाली अतिरिक्त है।

विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/sunil_yaduvanshi/simplifying-api-access-with-aws-lambda-function-urls-handling-get-post-put-and-delete-with-build-in- सुरक्षा- 4665?1 यदि कोई उल्लंघन है, तो कृपया उसे हटाने के लिए [email protected] से संपर्क करें
नवीनतम ट्यूटोरियल अधिक>

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

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

Copyright© 2022 湘ICP备2022001581号-3