TypeScript में Serverless फंक्शन: AWS Lambda पूरी गाइड

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

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

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

TypeScript के साथ AWS Lambda पर Serverless फंक्शन का परिचय

\n\n

Serverless आर्किटेक्चर आधुनिक क्लाउड डेवलपमेंट का मानक बन गया है। AWS Lambda आपको सर्वर मैनेज किए बिना कोड चलाने की सुविधा देता है, और TypeScript सख्त टाइपिंग और डेवलपमेंट में आसानी जोड़ता है। इस लेख में हम पूरी प्रक्रिया को समझेंगे: पहला फंक्शन बनाने से लेकर प्रोडक्शन में डिप्लॉय करने तक। आप सीखेंगे कि TypeScript में प्रभावी serverless फंक्शन कैसे लिखें, ट्रिगर्स के साथ काम करें और एरर को हैंडल करें।

\n\n

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

\n\n

1. AWS Lambda के लिए TypeScript एनवायरनमेंट सेटअप

\n\n

शुरू करने से पहले ज़रूरी टूल्स इंस्टॉल करें। आपको Node.js (वर्जन 18+), npm और AWS CLI की आवश्यकता होगी।

\n\n

1.1. डिपेंडेंसीज इंस्टॉल करना

\n\n
npm init -y\nnpm install -D typescript @types/node @aws-sdk/client-lambda\nnpm install aws-lambda @types/aws-lambda\n
\n\n

1.2. TypeScript कॉन्फ़िगरेशन

\n\n

Lambda के लिए सेटिंग्स के साथ tsconfig.json फ़ाइल बनाएं:

\n\n
{\n  "compilerOptions": {\n    "target": "ES2020",\n    "module": "commonjs",\n    "lib": ["ES2020"],\n    "outDir": "./dist",\n    "rootDir": "./src",\n    "strict": true,\n    "esModuleInterop": true,\n    "skipLibCheck": true,\n    "forceConsistentCasingInFileNames": true,\n    "resolveJsonModule": true,\n    "declaration": true,\n    "declarationMap": true,\n    "sourceMap": true\n  },\n  "include": ["src/**/*"],\n  "exclude": ["node_modules", "dist"]\n}\n
\n\n

1.3. AWS CLI इंस्टॉल करना

\n\n

आधिकारिक स्रोत से AWS CLI डाउनलोड और सेटअप करें। इंस्टॉल करने के बाद यह कमांड चलाएं:

\n\n
aws configure\n
\n\n

अपना Access Key ID, Secret Access Key, रीजन (जैसे us-east-1) और आउटपुट फॉर्मेट (json) दर्ज करें।

\n\n

2. TypeScript में पहला Serverless फंक्शन बनाना

\n\n

प्रोजेक्ट की संरचना इस प्रकार होनी चाहिए:

\n\n
my-lambda-project/\n├── src/\n│   └── handler.ts\n├── dist/\n├── tsconfig.json\n├── package.json\n└── .gitignore\n
\n\n

2.1. बेसिक Lambda हैंडलर

\n\n

एक सरल फंक्शन के साथ src/handler.ts फ़ाइल बनाएं:

\n\n
import { Context, APIGatewayProxyEvent, APIGatewayProxyResult } from 'aws-lambda';\n\ninterface HelloResponse {\n  message: string;\n  timestamp: string;\n  eventType: string;\n}\n\nexport const handler = async (\n  event: APIGatewayProxyEvent,\n  context: Context\n): Promise<APIGatewayProxyResult> => {\n  console.log('Event:', JSON.stringify(event, null, 2));\n  console.log('Context:', context);\n\n  const response: HelloResponse = {\n    message: 'AWS Lambda और TypeScript से नमस्ते!',\n    timestamp: new Date().toISOString(),\n    eventType: event.httpMethod || 'अज्ञात'\n  };\n\n  return {\n    statusCode: 200,\n    headers: {\n      'Content-Type': 'application/json',\n      'Access-Control-Allow-Origin': '*'\n    },\n    body: JSON.stringify(response)\n  };\n};\n
\n\n

2.2. TypeScript कंपाइल करना

\n\n

package.json में स्क्रिप्ट्स जोड़ें:

\n\n
"scripts": {\n  "build": "tsc",\n  "watch": "tsc --watch",\n  "clean": "rm -rf dist"\n}\n
\n\n

बिल्ड चलाएं:

\n\n
npm run build\n
\n\n

जांचें कि dist फ़ोल्डर में handler.js फ़ाइल बनी है या नहीं।

\n\n

3. AWS पर Lambda फंक्शन डिप्लॉय करना

\n\n

डिप्लॉय करने के कई तरीके हैं। सबसे आसान तरीका AWS CLI के माध्यम से है।

\n\n

3.1. फंक्शन को पैकेज करना

\n\n

कोड का ZIP आर्काइव बनाएं:

\n\n
cd dist\nzip -r ../function.zip .\ncd ..\n
\n\n

3.2. Lambda फंक्शन बनाना

\n\n

AWS CLI कमांड चलाएं:

\n\n
aws lambda create-function \\\n  --function-name hello-typescript \\\n  --runtime nodejs18.x \\\n  --role arn:aws:iam::Y                

ब्लॉग

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