aws-lambdaशुरुआत अंब-लंबो से हुई


टिप्पणियों

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


AWS लैंबडा Node.js (जावास्क्रिप्ट), पायथन, जावा (जावा 8 संगत) और C # (.NET कोर) में लिखे गए कोड का समर्थन करता है। आपके कोड में मौजूदा लाइब्रेरी, यहां तक कि देशी भी शामिल हो सकते हैं।

ट्रिगर में शामिल हो सकते हैं:

HTTP समापन बिंदु

  • मोबाईल ऐप्स
  • अन्य AWS सेवाएँ (Amazon API गेटवे के साथ REST कार्यान्वयन सहित)

लैंबडा को वास्तविक समय सर्वर रहित डाटा प्रोसेसिंग के लिए सबसे अच्छा बनाया गया है:

  • अपलोड की फाइल प्रोसेसिंग
    • ट्रांसकोडिंग
    • इंडेक्सिंग
    • मान्यकरण
    • आकार बदलना और छानना
  • डेटा विश्लेषण स्ट्रीमिंग
  • टेलीमेटरी
  • एक विधि-आधारित मोबाइल और वेब बैकएंड के रूप में चलाएं
  • अन्य AWS उत्पादों का विस्तार और लिंकिंग

स्थापना या सेटअप

  1. अपने एडब्ल्यूएस कंसोल में लॉग इन करें और सर्विसेज टैब के तहत लैंबडा पर क्लिक करें।

  2. फ़ंक्शंस के तहत आप एक ही-लेबल वाले बटन का उपयोग करके एक लैम्ब्डा फ़ंक्शन बनाने में सक्षम होंगे। यहाँ छवि विवरण दर्ज करें

  3. आपको एक स्क्रीन दिखाई जाएगी जहाँ आप एक खाका चुन सकते हैं। ये केवल मौजूदा लैम्ब्डा कार्यों के लिए शुरुआती बिंदु हैं जो लैम्बडा के साथ जल्दी से शुरू हो रहे हैं। यहाँ छवि विवरण दर्ज करें

  4. अगली स्क्रीन पर आप किसी भी ट्रिगर्स को कॉन्फ़िगर कर सकते हैं जिसे आप इस लैम्बडा फ़ंक्शन को "सेट" करना चाहते हैं। आप जो फ़ंक्शन बनाएंगे उसे फायर करने के लिए आप बिना किसी ट्रिगर्स (बाद में अपने काम के आधार पर मैन्युअल सेटअप के माध्यम से), एपीआई गेटवे (सर्वर रहित रीस्ट क्लाइंट बनाने के लिए), एलेक्सा कौशल या अन्य लोगों के ढेर सारे विकल्प चुन सकते हैं। यहाँ छवि विवरण दर्ज करें

  5. आप नाम , विवरण सेट करके अगली स्क्रीन पर कॉन्फ़िगरेशन समाप्त करेंगे, फ़ंक्शन को संपादित करने के लिए एक रनटाइम चुनने, ऑप्ट इन करने, .zip फ़ाइल अपलोड करने या अमेज़न S3 से फ़ाइल अपलोड करने की अनुमति देते हुए, एक भूमिका चुनें (अनुमतियों के लिए उपयोगी) चुनें। AWS सेवाओं के बीच बातचीत), मेमोरी और सीमाएँ सेट करें, और अपने ऐप को लाइव उपयोग के लिए तैयार करें। यहाँ छवि विवरण दर्ज करें यहाँ छवि विवरण दर्ज करें

  6. अंत में, आप अपने फ़ंक्शन की समीक्षा करेंगे और इसे बनाएंगे। चूंकि लैम्ब्डा पे-पर-यूज़ मॉडल का उपयोग करता है, इसलिए कोई भी चार्जर तब तक खर्च नहीं किया जाता है जब तक आप अपने नए बनाए गए फ़ंक्शन का उपयोग शुरू नहीं करते हैं। यहाँ छवि विवरण दर्ज करें

जावा एडब्ल्यूएस-लैंबडा एस 3 ट्रिगर

एक एडब्ल्यूएस-लैंबडा फ़ंक्शन को एक निश्चित बाल्टी ईवेंट से जोड़ा जा सकता है। जब भी कोई फ़ाइल / फ़ोल्डर बनाया जाता है या हटाया जाता है, तो कोई ईवेंट लंबो फ़ंक्शन फ़ंक्शन को ट्रिगर कर सकता है।

अपलोड की गई फ़ाइल का नाम प्रिंट करने के लिए एक साधारण लैम्ब्डा फ़ंक्शन

अपलोड की गई फ़ाइल के नाम को प्रिंट करने के लिए यह एक एकल श्रेणी का लंबोदर प्रोजेक्ट है। मावेन के लिए हमें उन निर्भरताओं को जोड़ना होगा:

    <dependencies>
    <dependency>
        <groupId>com.amazonaws</groupId>
        <artifactId>aws-lambda-java-core</artifactId>
        <version>1.1.0</version>
        <type>jar</type>
    </dependency>
    <dependency>
        <groupId>com.amazonaws</groupId>
        <artifactId>aws-lambda-java-events</artifactId>
        <version>1.3.0</version>
        <type>jar</type>
    </dependency>
</dependencies>
 

अब चलें अपने HelloWorld क्लास में:

package com;
import com.amazonaws.services.lambda.runtime.Context;
import com.amazonaws.services.lambda.runtime.RequestHandler;
import com.amazonaws.services.lambda.runtime.events.S3Event;
import com.amazonaws.services.s3.event.S3EventNotification;

public class HelloWorld implements RequestHandler< S3Event, String> {
    @Override
    public String handleRequest(S3Event event, Context ctx) {
     S3EventNotification.S3EventNotificationRecord record=event.getRecords().get(0);
     System.out.println("Bucket Name is "+record.getS3().getBucket().getName());
     System.out.println("File Path is "+record.getS3().getObject().getKey());
     return null;
    }
}
 

अगला कदम mvn का उपयोग करके परियोजना का निर्माण करना है।

परियोजना के निर्माण के बाद, हमें इसे AWS-Lambda पर अपलोड करने की आवश्यकता है। लैम्ब्डा पर जाएं, "एक लंबोदा फ़ंक्शन बनाएं" चुनें। उस भाग को छोड़ दें जहां आप ब्लूप्रिंट चुनते हैं, क्योंकि जावा आमतौर पर नहीं है।

इसके अलावा, "ट्रिगर्स कॉन्फ़िगर करें" को छोड़ दें क्योंकि हम इसे एक अलग स्थान से कॉन्फ़िगर करेंगे। अगला पृष्ठ, अपने पहले लंबो फ़ंक्शन के लिए एक नाम दर्ज करें, फिर एक छोटा विवरण और रनटाइम के रूप में जावा चुनें।

"कोड प्रविष्टि प्रकार" के लिए, ".ZIP फ़ाइल से अपलोड करें" चुनें और फिर इसे अपलोड करने के लिए अगले स्थान पर अपनी .zip फ़ाइल चुनें।

इस पृष्ठ पर मुश्किल हिस्सा हैंडलर क्षेत्र है। हैंडलर फ़ील्ड में, आपको अनुरोधहैंडलर को लागू करने वाले वर्ग का स्थान निर्दिष्ट करना होगा। यह वर्ग लंबोदर के लिए प्रवेश बिंदु है और यह सही ढंग से निर्दिष्ट नहीं होने पर आपका लैम्ब्डा फ़ंक्शन काम नहीं करेगा। हमारे मामले के लिए हैंडलर "com.HelloWorld" है

लंबोदर को S3 ट्रिगर प्रदान करना:

यहां हम S3 फ़ाइल अपलोड के लिए ट्रिगर संलग्न करेंगे

  • S3 पर जाएं, बाल्टी चुनें, फिर "गुण"।
  • "गुण" अनुभाग में, "ईवेंट" पर जाएं।
  • घटना का विवरण जोड़ें। "ईवेंट" फ़ील्ड में, चुनें कि आप अपने लैम्ब्डा को कैसे ट्रिगर करना चाहते हैं। हम "ObjectCreated (ऑल)" चुनेंगे कि लैम्ब्डा फंक्शन और बकेट एक ही अमेजन रीजन पर होना चाहिए
  • "सेंड्स" के लिए, लैम्ब्डा फंक्शन की जाँच करें, और सूची से अपना लैम्ब्डा फ़ंक्शन चुनें।

लैंबडा आउटपुट की निगरानी करना

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