Java पर सर्वरलेस फ़ंक्शन: AWS Lambda — संपूर्ण गाइड

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

Java के साथ AWS Lambda पर सर्वरलेस फ़ंक्शन: विचार से डिप्लॉयमेंट तक



सर्वरलेस आर्किटेक्चर (या बिना सर्वर के कंप्यूटिंग) क्लाउड कंप्यूटिंग का एक मॉडल है, जहाँ डेवलपर सर्वर प्रबंधन से पूरी तरह से अलग हो जाता है। आप बस कोड लिखते हैं, उसे क्लाउड पर अपलोड करते हैं, और प्रदाता (AWS, Google Cloud, Azure) स्वचालित रूप से इन्फ्रास्ट्रक्चर को स्केल करता है। AWS Lambda इस क्षेत्र में Amazon की प्रमुख सेवा है। इस लेख में, हम सीखेंगे कि AWS Lambda का उपयोग करके Java पर सर्वरलेस फ़ंक्शन कैसे बनाएं, शुरू से लेकर प्रोडक्शन-रेडी उदाहरण तक।



AWS Lambda क्या है और Java क्यों?



AWS Lambda आपको वर्चुअल मशीनों को आवंटित किए बिना ईवेंट (HTTP अनुरोध, S3 में फ़ाइल अपलोड, DynamoDB में बदलाव आदि) के जवाब में कोड निष्पादित करने की अनुमति देता है। आप केवल वास्तविक निष्पादन समय और अनुरोधों की संख्या के लिए भुगतान करते हैं।



Java एक परिपक्व, स्टैटिकली टाइप की गई भाषा है जिसमें लाइब्रेरीज़ (Spring, Micronaut, Quarkus) का विशाल पारिस्थितिकी तंत्र है। हालाँकि, सर्वरलेस के लिए Java में विशेषताएँ हैं: कोल्ड स्टार्ट (JVM लोड होने का समय) Node.js या Python की तुलना में अधिक हो सकता है। लेकिन आधुनिक फ्रेमवर्क (जैसे Quarkus या Spring Cloud Function) और GraalVM Native Image का उपयोग इस समस्या को हल करता है, जिससे Java एक प्रतिस्पर्धी विकल्प बन जाता है।



डेवलपमेंट के लिए वातावरण सेटअप



Java पर AWS Lambda के साथ काम करने के लिए आपको आवश्यकता होगी:

  • JDK 11 या 17 (बेहतर प्रदर्शन के लिए 17 अनुशंसित)।
  • Maven या Gradle (हम Maven का उपयोग करते हैं)।
  • AWS खाता और स्थापित AWS CLI।
  • IDE (IntelliJ IDEA, Eclipse, VS Code)।


एक बेसिक Maven प्रोजेक्ट बनाएँ। pom.xml में AWS Lambda Java Core के लिए डिपेंडेंसी जोड़ें:



<dependency>    <groupId>com.amazonaws</groupId>    <artifactId>aws-lambda-java-core</artifactId>    <version>1.2.3</version></dependency>


बिल्ड के लिए प्लगइन भी जोड़ें:



<plugin>    <groupId>org.apache.maven.plugins</groupId>    <artifactId>maven-shade-plugin</artifactId>    <version>3.5.0</version>    <executions>        <execution>            <phase>package</phase>            <goals><goal>shade</goal></goals>        </execution>    </executions></plugin>


Java पर पहला Lambda फ़ंक्शन बनाना



HelloLambda.java क्लास बनाएँ:



import com.amazonaws.services.lambda.runtime.Context;import com.amazonaws.services.lambda.runtime.RequestHandler;

public class HelloLambda implements RequestHandler<String, String> {

@Override public String handleRequest(String input, Context context) { context.getLogger().log("Input: " + input); return "Hello, " + input + "! आपका Lambda फ़ंक्शन Java पर निष्पादित हुआ।"; }}


स्पष्टीकरण:

  • RequestHandler<String, String> — इंटरफ़ेस, जहाँ पहला प्रकार इनपुट डेटा है, दूसरा रिटर्न प्रकार है।
  • Context — ऑब्जेक्ट जो निष्पादन वातावरण (लॉगर, समय, फ़ंक्शन नाम) के बारे में जानकारी प्रदान करता है।


प्रोजेक्ट बनाएँ: mvn clean package। target फ़ोल्डर में एक JAR फ़ाइल (जैसे lambda-java-1.0-SNAPSHOT.jar) दिखाई देगी।



AWS Lambda में फ़ंक्शन डिप्लॉय करना



डिप्लॉयमेंट AWS Console या CLI के माध्यम से किया जा सकता है। CLI पर विचार करें (सबसे तेज़ तरीका):



aws lambda create-function \    --function-name HelloJavaLambda \    --runtime java17 \    --role arn:aws:iam::YOUR_ACCOUNT_ID:role/lambda-basic-execution \    --handler HelloLambda::handleRequest \    --zip-file fileb://target/lambda-java-1.0-SNAPSHOT.jar


महत्वपूर्ण पैरामीटर:

ब्लॉग

पुस्तक अनुशंसाएँ