AWS Lambda ফাংশনগুলো ইভেন্ট-ড্রিভেন (event-driven) কাজ করে, অর্থাৎ, Lambda ফাংশনটি কোনো নির্দিষ্ট ইভেন্ট বা কাজের মাধ্যমে ট্রিগার (trigger) হয়। ইভেন্ট বলতে যেকোনো কার্যক্রম বোঝায় যা AWS সিস্টেমের মধ্যে ঘটে, যেমন ফাইল আপলোড, ডেটা পরিবর্তন, HTTP রিকোয়েস্ট ইত্যাদি। Lambda ট্রিগার কিভাবে কাজ করে এবং কিভাবে বিভিন্ন AWS সেবা Lambda ফাংশনটিকে ট্রিগার করতে পারে, তা বিস্তারিতভাবে এখানে আলোচনা করা হলো।
Lambda ট্রিগারের মৌলিক ধারণা
AWS Lambda ফাংশনটি ট্রিগার হয় নির্দিষ্ট একটি ইভেন্টের মাধ্যমে, যা বিভিন্ন সেবার থেকে আসতে পারে। Lambda ফাংশন চলার জন্য Trigger বা Event Source প্রয়োজন, যা Lambda কে ইভেন্ট (যেমন S3 থেকে ফাইল আপলোড বা API Gateway থেকে HTTP রিকোয়েস্ট) পাঠায়।
এটি সাধারণত Event-Source Mapping ব্যবহার করে ঘটানো হয়, যেখানে AWS সেবা Lambda ফাংশনের জন্য ইভেন্ট তৈরি করে এবং Lambda ফাংশন সেই ইভেন্টের ভিত্তিতে কাজ করে।
Lambda ট্রিগারের ধরন
AWS Lambda বিভিন্ন ইভেন্ট সোর্স থেকে ট্রিগার হতে পারে। কয়েকটি সাধারণ ট্রিগারের ধরন:
1. API Gateway (HTTP Requests)
API Gateway ব্যবহার করে HTTP রিকোয়েস্টের মাধ্যমে Lambda ফাংশন ট্রিগার করা যেতে পারে। এটি RESTful API বা WebSocket API এর মাধ্যমে Lambda ফাংশনকে HTTP রিকোয়েস্ট পাঠানোর কাজ করে।
উদাহরণ:
- ক্লায়েন্ট সাইড থেকে একটি HTTP রিকোয়েস্ট (GET, POST, PUT ইত্যাদি) API Gateway এর মাধ্যমে Lambda ফাংশনে পাঠানো হয়।
- Lambda ফাংশন সেই রিকোয়েস্ট প্রসেস করে এবং HTTP রেসপন্স প্রদান করে।
ধাপে ধাপে কাজ:
- API Gateway রিকোয়েস্ট গ্রহণ করে।
- এই রিকোয়েস্টটি Lambda ফাংশনকে পাঠানো হয়।
- Lambda ফাংশন রিকোয়েস্টের ভিত্তিতে কাজ সম্পাদন করে এবং ফলাফল API Gateway কে ফেরত দেয়।
2. Amazon S3 (File Upload)
Amazon S3 বকেটে নতুন ফাইল আপলোড হওয়ার সময় Lambda ফাংশন ট্রিগার হতে পারে। সাধারণত, S3 বকেটে একটি ফাইল আপলোড হলে, সেদিনের জন্য তৈরি Lambda ফাংশনটি কার্যকর হয়।
উদাহরণ:
- আপনি একটি ইমেজ ফাইল S3 বকেটে আপলোড করছেন।
- Lambda ফাংশনটি ইভেন্ট গ্রহণ করে, এবং সেই ফাইলটি প্রসেস করতে পারে (যেমন ইমেজ রিসাইজ করা, ফাইল এনক্রিপশন ইত্যাদি)।
ধাপে ধাপে কাজ:
- S3 বকেটে নতুন ফাইল আপলোড হলে।
- এই ইভেন্টটি Lambda ফাংশনকে পাঠানো হয়।
- Lambda ফাংশন ফাইলটি প্রসেস করে বা অন্যান্য কাজ করে।
3. Amazon DynamoDB (Database Updates)
DynamoDB টেবিলে কোনো ডেটা পরিবর্তন (আপডেট, ডিলিট, ইনসার্ট) হলে Lambda ফাংশন ট্রিগার হতে পারে। এটি একটি সিঙ্ক্রোনাস মেকানিজম যেখানে ডেটাবেসে কোনো পরিবর্তন হলে সেই পরিবর্তনটি Lambda ফাংশনে পাঠানো হয়।
উদাহরণ:
- একটি রেকর্ড DynamoDB টেবিলে আপডেট হলে।
- Lambda ফাংশনটি ট্রিগার হয়ে সেই পরিবর্তন অনুযায়ী কাজ করে (যেমন, সংশ্লিষ্ট ডেটাবেস টেবিল আপডেট করা)।
ধাপে ধাপে কাজ:
- DynamoDB টেবিলে একটি রেকর্ড পরিবর্তিত হলে।
- ইভেন্টটি Lambda ফাংশনে পাঠানো হয়।
- Lambda ফাংশন ডেটাবেসের পরিবর্তন অনুযায়ী কাজ করে।
4. Amazon SNS (Simple Notification Service)
SNS সেবা ব্যবহার করে বার্তা পাঠানোর মাধ্যমে Lambda ফাংশন ট্রিগার করা যেতে পারে। যখন SNS একটি মেসেজ পাঠায়, তখন Lambda ফাংশন স্বয়ংক্রিয়ভাবে সেই মেসেজ গ্রহণ করে এবং সংশ্লিষ্ট কার্যক্রম শুরু করে।
উদাহরণ:
- SNS মাধ্যমে একটি ইভেন্ট বা মেসেজ (যেমন, এলার্ট বা নোটিফিকেশন) পাঠানো।
- Lambda ফাংশনটি সেই মেসেজ গ্রহণ করে এবং প্রক্রিয়া শুরু করে (যেমন, ইমেইল পাঠানো বা কোনো অ্যাকশন নেওয়া)।
ধাপে ধাপে কাজ:
- SNS থেকে একটি মেসেজ পাওয়া যায়।
- Lambda ফাংশন SNS ইভেন্ট গ্রহণ করে এবং কাজ শুরু হয়।
5. CloudWatch Events (Scheduled Events)
CloudWatch Events ব্যবহার করে নির্দিষ্ট সময়সূচি বা ট্রিগার হতে Lambda ফাংশন চালানো যেতে পারে। এটি দিয়ে আপনি কোনো নির্দিষ্ট সময় বা ইভেন্ট অনুসারে Lambda ফাংশন ট্রিগার করতে পারেন।
উদাহরণ:
- প্রতি দিন সন্ধ্যা ৬ টায় একটি Lambda ফাংশন চালাতে চাইলে CloudWatch Event এর মাধ্যমে সেই সময়টি নির্ধারণ করা হয়।
- CloudWatch Events Lambda ফাংশনকে ওই নির্দিষ্ট সময় বা ইভেন্টের মাধ্যমে ট্রিগার করে।
ধাপে ধাপে কাজ:
- নির্দিষ্ট সময় বা শিডিউল সেট করা হয়।
- CloudWatch Event Lambda ফাংশনকে ট্রিগার করে।
6. Amazon Kinesis (Data Streams)
Kinesis Data Streams থেকে ডেটা গ্রহণ করে Lambda ফাংশন ট্রিগার করা যেতে পারে। Kinesis Stream থেকে ডেটা ইনপুট হিসাবে Lambda ফাংশনে চলে আসে এবং Lambda সেই ডেটা প্রসেস করে।
উদাহরণ:
- একটি ডেটা স্ট্রিমে নতুন ডেটা আসলে Lambda ফাংশনটি সেই ডেটা গ্রহণ করে এবং তা প্রক্রিয়া করে।
ধাপে ধাপে কাজ:
- Kinesis Stream থেকে ডেটা আসলে।
- Lambda ফাংশন সেটি গ্রহণ করে এবং কাজ শুরু করে।
Lambda ট্রিগার কনফিগারেশন
AWS Lambda এ ট্রিগার কনফিগার করতে হলে কিছু নির্দিষ্ট স্টেপ অনুসরণ করতে হয়:
- Trigger Selection: AWS Console বা CLI থেকে ট্রিগার সোর্স নির্বাচন করতে হয় (যেমন S3, SNS, API Gateway ইত্যাদি)।
- Permission Configuration: Lambda ফাংশনকে ট্রিগার সোর্স থেকে ইভেন্ট গ্রহণ করার অনুমতি দিতে হবে। এটি করতে সাধারণত IAM (Identity and Access Management) রোল ব্যবহার করা হয়।
- Event Filtering: যদি আপনি নির্দিষ্ট ধরনের ইভেন্ট ট্রিগার করতে চান, তবে আপনি event filtering ব্যবহার করতে পারেন (যেমন, একটি নির্দিষ্ট ফাইল টাইপ বা নির্দিষ্ট ডেটাবেস রেকর্ডের পরিবর্তন)।
- Lambda Function Testing: ট্রিগার কনফিগার করার পর, Lambda ফাংশনটি টেস্ট করুন এবং নিশ্চিত করুন যে এটি সঠিকভাবে কাজ করছে।
সারাংশ
AWS Lambda ট্রিগার ফাংশনের ইভেন্ট-ড্রিভেন প্রক্রিয়ার একটি গুরুত্বপূর্ণ অংশ। Lambda ফাংশন বিভিন্ন AWS সেবা যেমন API Gateway, S3, DynamoDB, SNS, Kinesis, এবং CloudWatch Events থেকে ট্রিগার হতে পারে। এই ইভেন্ট সোর্সগুলির মাধ্যমে Lambda ফাংশন স্বয়ংক্রিয়ভাবে কার্যকর হয় এবং নির্দিষ্ট কাজ সম্পাদন করে, যা স্কেলেবল এবং ক্লাউড-নেটিভ অ্যাপ্লিকেশন নির্মাণের জন্য একটি শক্তিশালী এবং নমনীয় পদ্ধতি।
Read more