AWS Lambda ফাংশনকে বিভিন্ন ইভেন্ট বা ট্রিগার থেকে চালানো হতে পারে, যা Lambda ফাংশনের কার্যকারিতাকে অটোমেট করতে সাহায্য করে। ইভেন্ট সোর্স হলো সেই সেবা বা অ্যাপ্লিকেশন যা Lambda ফাংশনকে ট্রিগার করে, এবং ট্রিগার হলো সেই ঘটনা বা কাজ যা Lambda ফাংশনটিকে চালানোর জন্য ইভেন্ট সরবরাহ করে।
Lambda ট্রিগার এবং ইভেন্ট সোর্স কী?
- ট্রিগার (Trigger):
এটি সেই ঘটনা বা কাজ যা Lambda ফাংশনকে কার্যকর করে। উদাহরণস্বরূপ, যদি কোনো নতুন ফাইল S3 বকেটে আপলোড হয়, তাহলে এই ইভেন্টটি Lambda ফাংশনকে ট্রিগার করতে পারে। - ইভেন্ট সোর্স (Event Source):
এটি সেই সেবা বা অ্যাপ্লিকেশন যা Lambda ফাংশনকে ট্রিগার করে। যেমন, S3, DynamoDB, SNS, API Gateway, CloudWatch, ইত্যাদি।
Lambda ফাংশনকে ট্রিগার করতে বিভিন্ন AWS সেবা এবং কাস্টম অ্যাপ্লিকেশন ব্যবহার করা যেতে পারে। AWS Lambda ঐ সমস্ত সেবা ও অ্যাপ্লিকেশন থেকে ইভেন্ট গ্রহণ করতে পারে, এবং সেই অনুযায়ী কার্যসম্পাদন করতে পারে।
Lambda ট্রিগার এবং ইভেন্ট সোর্সের কিছু সাধারণ উদাহরণ
1. Amazon S3 (Simple Storage Service)
ইভেন্ট সোর্স: S3
ট্রিগার: S3 বকেটে নতুন ফাইল আপলোড হলে Lambda ফাংশনটি ট্রিগার হয়।
উদাহরণ:
- যখন একটি নতুন ফাইল S3 বকেটে আপলোড হবে, Lambda ফাংশনটি স্বয়ংক্রিয়ভাবে সেই ফাইল প্রসেস করতে বা কোনো নির্দিষ্ট কাজ করতে ট্রিগার হবে।
কনফিগারেশন: S3 বকেটে ফাইল আপলোড হলে Lambda ফাংশনটি ট্রিগার করতে S3 event ট্রিগার ব্যবহার করা হয়।
2. Amazon API Gateway
ইভেন্ট সোর্স: API Gateway
ট্রিগার: HTTP রিকোয়েস্ট আসলে Lambda ফাংশনটি ট্রিগার হয়।
উদাহরণ:
- আপনি একটি RESTful API তৈরি করতে পারেন, যেখানে API Gateway HTTP রিকোয়েস্টের মাধ্যমে Lambda ফাংশনকে ট্রিগার করবে। এটি ওয়েব অ্যাপ্লিকেশন বা মোবাইল অ্যাপ্লিকেশন থেকে HTTP রিকোয়েস্ট গ্রহণ করতে সাহায্য করে।
কনফিগারেশন: API Gateway কে Lambda ফাংশনের ট্রিগার হিসাবে সেটআপ করা হয়।
3. Amazon SNS (Simple Notification Service)
ইভেন্ট সোর্স: SNS
ট্রিগার: SNS টপিকে মেসেজ পুশ হলে Lambda ফাংশনটি ট্রিগার হয়।
উদাহরণ:
- একটি SNS টপিক তৈরি করা হয়, যেখানে বিভিন্ন সাবস্ক্রাইবাররা মেসেজ পাঠাতে পারে। যখন কোনো মেসেজ SNS টপিকে আসবে, তখন Lambda ফাংশনটি সেই মেসেজ প্রক্রিয়া করবে বা অটোমেটেড কাজ চালাবে।
কনফিগারেশন: Lambda ফাংশনকে SNS টপিকের সাবস্ক্রাইবার হিসাবে সেটআপ করা হয়।
4. Amazon DynamoDB
ইভেন্ট সোর্স: DynamoDB
ট্রিগার: DynamoDB টেবিলে কোনো পরিবর্তন হলে (যেমন, নতুন ডেটা যোগ করা, ডেটা আপডেট করা, বা ডেটা ডিলিট করা) Lambda ফাংশনটি ট্রিগার হয়।
উদাহরণ:
- আপনি DynamoDB টেবিলের উপর কোন নির্দিষ্ট পরিবর্তন হলে একটি Lambda ফাংশন ট্রিগার করতে পারেন, যা ডেটাবেস আপডেট বা প্রক্রিয়া সম্পর্কিত কাজ সম্পাদন করবে।
কনফিগারেশন: DynamoDB Streams ব্যবহার করে Lambda ফাংশনকে ট্রিগার করা হয়।
5. Amazon CloudWatch
ইভেন্ট সোর্স: CloudWatch
ট্রিগার: CloudWatch মেট্রিক বা লগের ভিত্তিতে Lambda ফাংশনটি ট্রিগার হতে পারে।
উদাহরণ:
- আপনি একটি নির্দিষ্ট CloudWatch মেট্রিক (যেমন, EC2 ইনস্ট্যান্সে CPU ব্যবহার) পর্যবেক্ষণ করতে পারেন এবং যখন সেই মেট্রিক একটি নির্দিষ্ট থ্রেশহোল্ড অতিক্রম করবে, তখন Lambda ফাংশনটি ট্রিগার হতে পারে।
কনফিগারেশন: CloudWatch Events বা CloudWatch Logs ট্রিগার হিসাবে Lambda ফাংশন ব্যবহার করা হয়।
6. Amazon CloudFormation
ইভেন্ট সোর্স: CloudFormation
ট্রিগার: CloudFormation স্ট্যাক তৈরি বা আপডেট হলে Lambda ফাংশনটি ট্রিগার হতে পারে।
উদাহরণ:
- CloudFormation স্ট্যাকের মধ্যে নতুন রিসোর্স তৈরি হলে বা কোনো রিসোর্সের কনফিগারেশন পরিবর্তন হলে Lambda ফাংশনটি সেই পরিবর্তন প্রক্রিয়া করার জন্য ট্রিগার হতে পারে।
কনফিগারেশন: CloudFormation স্ট্যাকের অংশ হিসেবে Lambda ফাংশনকে ডিপ্লয় করা হয়।
Lambda ফাংশনের ট্রিগার সেটআপ করার প্রক্রিয়া
- AWS Management Console এ লগইন করুন
AWS Console এ লগইন করুন এবং Lambda সেবা নির্বাচন করুন। - Lambda ফাংশন তৈরি করুন
নতুন Lambda ফাংশন তৈরি করুন বা বিদ্যমান Lambda ফাংশনটি সম্পাদনা করুন। - Add Trigger
ফাংশন তৈরি বা সম্পাদনা করার পর, Add Trigger বাটনে ক্লিক করুন এবং আপনার ইভেন্ট সোর্স নির্বাচন করুন (যেমন, S3, API Gateway, SNS ইত্যাদি)। - ট্রিগার কনফিগার করুন
নির্বাচিত ইভেন্ট সোর্সের জন্য প্রয়োজনীয় কনফিগারেশন সেট করুন। উদাহরণস্বরূপ, S3 বকেটের নাম অথবা API Gateway এর রেসপন্স URL। - সেইভ করুন
ট্রিগার কনফিগারেশন সম্পন্ন হওয়ার পর, সেটি Save বা Deploy করুন।
সারাংশ
AWS Lambda ফাংশনকে বিভিন্ন ইভেন্ট সোর্স থেকে ট্রিগার করা যায়, যা Lambda ফাংশনের কার্যকারিতা অটোমেট করে। AWS সেবাগুলোর মধ্যে S3, API Gateway, SNS, DynamoDB, CloudWatch ইত্যাদি Lambda ফাংশনের ট্রিগার হতে পারে। Lambda ফাংশনটি এই ইভেন্ট সোর্স থেকে ডেটা গ্রহণ করে এবং প্রক্রিয়া করে একটি নির্দিষ্ট কাজ সম্পাদন করে। Lambda ট্রিগার এবং ইভেন্ট সোর্স ব্যবহারের মাধ্যমে, আপনি পুরোপুরি serverless আর্কিটেকচার তৈরি করতে পারেন যা সম্পূর্ণভাবে স্কেলেবল এবং সাশ্রয়ী।
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 ফাংশন স্বয়ংক্রিয়ভাবে কার্যকর হয় এবং নির্দিষ্ট কাজ সম্পাদন করে, যা স্কেলেবল এবং ক্লাউড-নেটিভ অ্যাপ্লিকেশন নির্মাণের জন্য একটি শক্তিশালী এবং নমনীয় পদ্ধতি।
AWS Lambda ফাংশনটি ইভেন্ট-ড্রিভেন (event-driven) আর্কিটেকচারে কাজ করে, যার মানে হলো Lambda ফাংশনটি বিভিন্ন ইভেন্ট সোর্স থেকে ট্রিগার হতে পারে। AWS Lambda ফাংশন যখন কোনো নির্দিষ্ট ইভেন্ট বা কার্যক্রম ঘটায়, তখন সেটি ট্রিগার হয় এবং প্রয়োজনীয় কাজ সম্পাদন করে।
এখানে কিছু সাধারণ AWS ইভেন্ট সোর্সের বর্ণনা দেওয়া হলো, যা Lambda ফাংশনকে ট্রিগার করতে পারে:
S3 (Simple Storage Service)
Amazon S3 হলো AWS এর একটি অবজেক্ট স্টোরেজ সেবা। আপনি যখন S3 বকেটে ফাইল আপলোড করেন, অথবা কোনো ফাইলের পরিবর্তন ঘটে, তখন একটি S3 event ঘটতে পারে, যা Lambda ফাংশনকে ট্রিগার করে।
ব্যবহার:
- একটি ফাইল S3 বকেটে আপলোড হলে, Lambda ফাংশনটি ট্রিগার হয়ে ঐ ফাইলটির প্রক্রিয়াকরণ করতে পারে।
- ভিডিও বা ছবি ফাইল আপলোডের পর সেগুলোর কম্প্রেশন বা রিসাইজিং করা।
উদাহরণ:
যদি S3 বকেটে একটি নতুন ইমেজ আপলোড করা হয়, তবে একটি Lambda ফাংশন সেটি প্রসেস করে ইমেজের মেটাডেটা সংগ্রহ করতে পারে বা ছবিটি অন্য কোথাও কপি করতে পারে।
S3 Event Trigger Example:
{
"Records": [
{
"s3": {
"bucket": {
"name": "example-bucket"
},
"object": {
"key": "image.jpg"
}
}
}
]
}
DynamoDB
Amazon DynamoDB হলো একটি সম্পূর্ণ পরিচালিত NoSQL ডেটাবেস সেবা। DynamoDB টেবিলের মধ্যে যখন কোনো রেকর্ড ইনসার্ট, আপডেট অথবা ডিলিট হয়, তখন এটি একটি ইভেন্ট জেনারেট করে যা Lambda ফাংশনকে ট্রিগার করে।
ব্যবহার:
- DynamoDB এর টেবিলের মধ্যে নতুন রেকর্ড আসলে Lambda ফাংশনটি তা প্রসেস করতে পারে।
- রেকর্ড আপডেট হওয়ার পর Lambda ফাংশন দিয়ে ডেটা প্রক্রিয়া বা লগিং করা।
উদাহরণ:
যদি DynamoDB টেবিলে একটি নতুন ব্যবহারকারী যোগ করা হয়, Lambda ফাংশনটি ব্যবহারকারীর জন্য একটি ওয়েলকাম ইমেইল পাঠাতে পারে।
DynamoDB Stream Trigger Example:
{
"Records": [
{
"eventName": "INSERT",
"dynamodb": {
"NewImage": {
"username": { "S": "john_doe" },
"email": { "S": "john_doe@example.com" }
}
}
}
]
}
API Gateway
Amazon API Gateway হলো একটি সেবা যা HTTP (RESTful) API তৈরি করতে এবং পরিচালনা করতে সাহায্য করে। API Gateway দ্বারা ট্রিগার হওয়া Lambda ফাংশনগুলো সাধারণত ওয়েব অ্যাপ্লিকেশন বা মোবাইল অ্যাপ্লিকেশন থেকে আসা HTTP রিকোয়েস্ট প্রসেস করে।
ব্যবহার:
- API Gateway থেকে HTTP রিকোয়েস্ট আসলে Lambda ফাংশনটি সেই রিকোয়েস্ট প্রক্রিয়াকরণ করে।
- ওয়েব API এর মাধ্যমে ইউজার ইনপুট গ্রহণ করা এবং সেগুলোর ভিত্তিতে প্রক্রিয়া করা।
উদাহরণ:
যদি একজন ইউজার ওয়েব ফর্মে ডাটা সাবমিট করে, API Gateway সেই ডাটাটি Lambda ফাংশনে পাঠাতে পারে এবং ফাংশনটি ডাটার প্রক্রিয়াকরণ করে রিপ্লাই পাঠাতে পারে।
API Gateway Event Trigger Example:
{
"body": "{\"name\":\"John\"}",
"headers": {
"Content-Type": "application/json"
},
"httpMethod": "POST",
"resource": "/user",
"path": "/user",
"queryStringParameters": null
}
SNS (Simple Notification Service)
Amazon SNS হলো একটি পূর্ণাঙ্গ নোটিফিকেশন সেবা, যা বিভিন্ন সাবস্ক্রাইবারকে মেসেজ পাঠানোর জন্য ব্যবহৃত হয়। SNS এর মাধ্যমে ট্রিগার হওয়া Lambda ফাংশনটি প্রাপ্ত মেসেজ প্রক্রিয়াকরণ করতে পারে।
ব্যবহার:
- SNS টপিক থেকে আসা মেসেজে Lambda ফাংশনটি ট্রিগার হতে পারে।
- মেসেজের উপর ভিত্তি করে বিভিন্ন কাজ (যেমন ইমেইল পাঠানো, বা ডেটা প্রক্রিয়াকরণ) সম্পাদন করা।
উদাহরণ:
যদি SNS টপিকের মাধ্যমে একটি "OrderPlaced" মেসেজ পাঠানো হয়, Lambda ফাংশনটি সেই মেসেজটি প্রসেস করতে পারে এবং পরবর্তী কাজ (যেমন, অর্ডার কনফার্মেশন পাঠানো) শুরু করতে পারে।
SNS Event Trigger Example:
{
"Records": [
{
"Sns": {
"Message": "Order Placed: OrderID 12345",
"TopicArn": "arn:aws:sns:us-west-2:123456789012:OrderTopic"
}
}
]
}
SQS (Simple Queue Service)
Amazon SQS হলো একটি ম্যানেজড কিউ সেবা যা অ্যাসিঙ্ক্রোনাস মেসেজিং সমর্থন করে। যখন SQS কিউতে নতুন মেসেজ জমা হয়, Lambda ফাংশনটি সেই মেসেজের ভিত্তিতে কার্যক্রম শুরু করতে পারে।
ব্যবহার:
- SQS কিউতে আসা মেসেজগুলি Lambda ফাংশনের মাধ্যমে প্রসেস করা যেতে পারে।
- যখন কোনো প্রসেসিং কমপ্লিট হয়, তখন সিস্টেমে নতুন মেসেজ পাঠানো যেতে পারে।
উদাহরণ:
যদি SQS কিউতে একটি নতুন "Job Request" মেসেজ আসে, Lambda ফাংশনটি সেই মেসেজটি প্রসেস করে একটি সার্ভিস কল করতে পারে।
SQS Event Trigger Example:
{
"Records": [
{
"messageId": "abc123",
"body": "{\"jobId\":\"12345\", \"jobType\":\"data_processing\"}",
"receiptHandle": "MessageHandle"
}
]
}
সারাংশ
AWS Lambda বিভিন্ন ইভেন্ট সোর্স থেকে ট্রিগার হতে পারে, যা Lambda ফাংশনটির কার্যকারিতা এবং প্রক্রিয়াকরণ ক্ষমতাকে বিস্তৃত করে। S3, DynamoDB, API Gateway, SNS, এবং SQS এগুলোর মধ্যে সবচেয়ে জনপ্রিয় কিছু ইভেন্ট সোর্স, যা Lambda ফাংশনের সাথে সহজেই সংযুক্ত করা যেতে পারে। এর মাধ্যমে, আপনি আপনার অ্যাপ্লিকেশনগুলোর সিস্টেম ইন্টিগ্রেশন, ডেটা প্রসেসিং এবং অটোমেশন আরও শক্তিশালী করতে পারেন।
Axure RP একটি শক্তিশালী প্রোটোটাইপিং এবং ডিজাইন টুল যা ব্যবহারকারীদের ইন্টারঅ্যাকটিভ প্রোটোটাইপ তৈরি করতে সাহায্য করে। এতে Custom Events এবং Event Source Mapping ব্যবহার করে আপনি প্রোটোটাইপে আরও কাস্টমাইজড ইন্টারঅ্যাকশন যুক্ত করতে পারেন। এই গাইডে, আমরা Axure RP তে Custom Events এবং ইভেন্ট সোর্স ম্যাপিং কিভাবে ব্যবহার করা যায় তা বিস্তারিতভাবে আলোচনা করব।
Custom Events
Custom Events হচ্ছে এমন ইভেন্ট যা আপনি নিজের প্রোটোটাইপে তৈরি করতে পারেন, যা নির্দিষ্ট অ্যাকশনের উপর ভিত্তি করে ট্রিগার হয়। সাধারণত, Axure RP তে আপনি predefined ইভেন্ট (যেমন, ক্লিক, হভার, ইত্যাদি) ব্যবহার করে ইন্টারঅ্যাকশন তৈরি করেন। তবে, Custom Events আপনাকে আরও ব্যক্তিগতকৃত ইভেন্ট তৈরি করতে সহায়তা করে, যা নির্দিষ্ট প্রেক্ষাপটে কাজ করে।
Custom Event তৈরি করার প্রক্রিয়া:
- Prototype Editor এ একটি উইজেট সিলেক্ট করুন, যেমন একটি বাটন বা ডিভ।
- তারপর Interactions pane থেকে Add Case অপশন সিলেক্ট করুন।
- এবার, Action ড্রপডাউন থেকে Add Action সিলেক্ট করুন এবং এর মধ্যে Trigger a custom event নির্বাচন করুন।
- একটি Custom Event নাম দিন (যেমন
CustomEvent1), এরপর আপনি কোন অ্যাকশন দ্বারা এই ইভেন্টটি ট্রিগার হবে তা নির্ধারণ করুন। - এর পরে, Event এর আওতায় নির্দিষ্ট ইন্টারঅ্যাকশন যেমন 'OnClick', 'OnMouseOver' ইত্যাদি নির্বাচন করতে পারবেন।
এভাবে, আপনি একটি Custom Event তৈরি করতে পারেন যা আপনার নির্দিষ্ট প্রয়োজন অনুযায়ী অ্যাকশনগুলো কার্যকর করবে।
ইভেন্ট সোর্স ম্যাপিং (Event Source Mapping)
Event Source Mapping এর মাধ্যমে আপনি নির্দিষ্ট সোর্স ইভেন্টের সাথে একটি কাস্টম ইভেন্ট সংযুক্ত করতে পারেন। এতে ইভেন্টগুলোর মধ্যে সম্পর্ক স্থাপন করা হয়, এবং যখন একটি সোর্স ইভেন্ট ঘটে, তখন নির্দিষ্ট কাস্টম ইভেন্ট ট্রিগার হয়।
ইভেন্ট সোর্স ম্যাপিং কিভাবে কাজ করে:
- প্রথমে, একটি সোর্স ইভেন্ট তৈরি করুন, যেমন একটি বাটনে ক্লিক হওয়া।
- তারপর Interactions pane এ গিয়ে সেই সোর্স ইভেন্টের জন্য একটি নতুন ইন্টারঅ্যাকশন অ্যাড করুন।
- এই ইন্টারঅ্যাকশনটি Trigger a custom event সেট করে, আপনার তৈরি করা কাস্টম ইভেন্ট নির্বাচন করুন।
- এরপর, আপনি যখন সোর্স ইভেন্টটি ট্রিগার করবেন (যেমন বাটনে ক্লিক), তখন আপনার কাস্টম ইভেন্টটি ট্রিগার হবে।
ইভেন্ট সোর্স ম্যাপিং উদাহরণ
ধরা যাক, আপনি একটি প্রোটোটাইপে একটি বাটন এবং একটি ডায়ালগ বক্স তৈরি করেছেন। যখন বাটনে ক্লিক হবে, তখন ডায়ালগ বক্সটি প্রদর্শিত হবে। এটি করতে, আপনি প্রথমে একটি Custom Event তৈরি করবেন যেটি ডায়ালগ বক্স প্রদর্শন করবে। তারপর, সেই কাস্টম ইভেন্টটিকে বাটনের ক্লিক ইভেন্টের সাথে মেপ করবেন।
- Custom Event তৈরি করুন: "ShowDialogBox"।
- Button এ ক্লিক ইভেন্ট যুক্ত করুন এবং সেটি "ShowDialogBox" কাস্টম ইভেন্টের সাথে ম্যাপ করুন।
- এখন, যখন বাটনে ক্লিক করবেন, তখন ডায়ালগ বক্সটি প্রদর্শিত হবে, কারণ ইভেন্ট সোর্স ম্যাপিংয়ের মাধ্যমে কাস্টম ইভেন্টটি ট্রিগার হবে।
Custom Events এবং Event Source Mapping এর সুবিধা
- স্বাধীনতা এবং কাস্টমাইজেশন: Custom events আপনাকে আপনার প্রোটোটাইপে আরও শক্তিশালী কাস্টম ইন্টারঅ্যাকশন তৈরি করতে সাহায্য করে, যা Axure RP তে সহজভাবে সম্ভব নয়।
- সহজ ইন্টারঅ্যাকশন সমন্বয়: Event Source Mapping এর মাধ্যমে আপনি ইভেন্টগুলোকে একে অপরের সাথে যুক্ত করে আরো জটিল ইন্টারঅ্যাকশন তৈরি করতে পারেন, যেমন বিভিন্ন বাটন ক্লিকের ভিত্তিতে একাধিক অ্যাকশন ট্রিগার করা।
- আন্তঃক্রিয়াশীল প্রোটোটাইপ: এর মাধ্যমে আপনি অত্যন্ত বাস্তবসম্মত এবং ইন্টারঅ্যাকটিভ প্রোটোটাইপ তৈরি করতে পারেন, যা ব্যবহারকারীর অভিজ্ঞতা উন্নত করে।
সারাংশ
Axure RP তে Custom Events এবং Event Source Mapping ব্যবহার করে আপনি আরও শক্তিশালী এবং কাস্টমাইজড ইন্টারঅ্যাকশন তৈরি করতে পারেন। Custom Events আপনাকে নতুন ইভেন্ট তৈরি করতে সাহায্য করে, এবং Event Source Mapping এর মাধ্যমে আপনি বিভিন্ন সোর্স ইভেন্টের সাথে কাস্টম ইভেন্টগুলো ট্রিগার করতে পারেন। এই দুটি ফিচার একত্রে ব্যবহার করে আপনি একটি দক্ষ এবং ইন্টারঅ্যাকটিভ প্রোটোটাইপ তৈরি করতে পারেন যা ব্যবহারকারীদের জন্য আরো আকর্ষণীয় হয়।
Amazon CloudWatch Events, যা পূর্বে Amazon CloudWatch Events হিসেবে পরিচিত ছিল, একটি সেবা যা আপনাকে শিডিউলড ইভেন্ট বা ক্রন জব চালানোর জন্য ব্যবহৃত হয়। এটি AWS Lambda, EC2 ইনস্ট্যান্স, ECS টাস্ক, এবং অন্যান্য AWS সেবা থেকে ইভেন্ট ট্রিগার করতে সক্ষম। Axure RP ব্যবহারকারী যারা ওয়েব অ্যাপ্লিকেশন বা প্রোটোটাইপ তৈরি করেন, তাদের জন্য এই সিস্টেমের মাধ্যমে AWS সেবা সংহত করার ফলে ক্রন জব বা শিডিউলড ট্রিগার তৈরি করা অনেক সহজ হয়ে যায়।
এই গাইডে, আমরা দেখবো কিভাবে Amazon CloudWatch Events ব্যবহার করে একটি ক্রন জব বা শিডিউলড ট্রিগার সেটআপ করা যায়, যা Lambda ফাংশন অথবা অন্যান্য অ্যাকশন ট্রিগার করতে সক্ষম।
Step 1: AWS Management Console এ লগইন
- প্রথমে AWS Management Console এ লগইন করুন।
- সার্চ বারে CloudWatch লিখে অথবা Services থেকে CloudWatch নির্বাচন করুন।
Step 2: CloudWatch Events নির্বাচন করুন
- CloudWatch ড্যাশবোর্ডে প্রবেশ করার পর, বাম দিকে থাকা Events মেনু থেকে Rules নির্বাচন করুন।
- এখানে, আপনি নতুন Event Rule তৈরি করতে পারবেন, যা আপনার ক্রন জব বা শিডিউলড ট্রিগার হিসেবে কাজ করবে।
Step 3: নতুন Event Rule তৈরি করুন
- Create rule বাটনে ক্লিক করুন।
- Event Source সেকশনে Schedule নির্বাচন করুন, যা ক্রন টাইম শিডিউল সেট করতে সাহায্য করবে।
Step 4: Cron Expression ব্যবহার করে শিডিউল সেট করুন
- Schedule expression এ আপনি Cron expression বা rate expression ব্যবহার করতে পারবেন।
Cron Expression: এটি আপনাকে অত্যন্ত নির্দিষ্ট সময়সূচী সেট করতে সাহায্য করে। উদাহরণস্বরূপ, প্রতিদিন সকাল ১০টায় একটি Lambda ফাংশন চালানোর জন্য:
cron(0 10 * * ? *)Rate Expression: যদি আপনি একটি নির্দিষ্ট সময় পরপর কাজ চালাতে চান (যেমন প্রতি ৫ মিনিট পরপর), তবে rate এক্সপ্রেশন ব্যবহার করতে পারেন:
rate(5 minutes)
- ক্রন এক্সপ্রেশন বা রেট এক্সপ্রেশন এর মাধ্যমে আপনি ইভেন্টের শিডিউল সেট করতে পারবেন।
Step 5: Target নির্বাচন করুন
- এরপর Targets সেকশনে, আপনি কোন সেবা বা অ্যাকশন চালাতে চান তা নির্বাচন করুন। এখানে কিছু উদাহরণ:
- AWS Lambda: Lambda ফাংশন চালানোর জন্য।
- EC2 Instances: একটি EC2 ইনস্ট্যান্স শুরু বা স্টপ করার জন্য।
- SNS: SNS টপিকের মাধ্যমে মেসেজ পাঠানোর জন্য।
- Step Functions: Step Functions টাস্ক ট্রিগার করতে।
- উদাহরণস্বরূপ, যদি আপনি Lambda ফাংশন চালাতে চান, তবে Lambda function নির্বাচন করুন এবং সেই Lambda ফাংশন নির্বাচন করুন যেটি আপনি ট্রিগার করতে চান।
Step 6: Permission প্রদান করুন
- যদি আপনি Lambda ফাংশন বা অন্য কোনও সেবা চালানোর জন্য টার্গেট নির্বাচন করেন, তবে CloudWatch Events কে সেই সেবা ট্রিগার করার অনুমতি দিতে হবে।
- Create a new role for this specific resource অথবা Use an existing role নির্বাচন করুন এবং প্রয়োজনীয় IAM রোল সেট করুন।
Step 7: Event Rule তৈরি করুন
- সবকিছু ঠিকঠাক করার পর, Create বাটনে ক্লিক করুন।
- এটি আপনার নতুন শিডিউলড ইভেন্ট তৈরি করবে এবং এটি স্বয়ংক্রিয়ভাবে নির্দিষ্ট সময় অনুযায়ী আপনার Lambda ফাংশন বা অন্যান্য টার্গেট এক্সিকিউট করবে।
Step 8: রুল পরীক্ষা করুন
- আপনি যদি দেখতে চান যে আপনার নতুন শিডিউলড রুলটি সঠিকভাবে কাজ করছে কিনা, তবে Test অপশন ব্যবহার করতে পারেন। CloudWatch Events আপনাকে এই রুলটি চালানোর পূর্বে কোন নির্দিষ্ট সময়ের জন্য টেস্ট চালানোর সুযোগ দেয়।
সারাংশ
Amazon CloudWatch Events ব্যবহার করে আপনি সহজেই ক্রন জব বা শিডিউলড ট্রিগার তৈরি করতে পারবেন। এই প্রক্রিয়াটি Lambda ফাংশন বা অন্য AWS সেবা দ্বারা ট্রিগার করা যাবে, যাতে আপনি নির্দিষ্ট সময় অনুযায়ী কাজ করতে পারেন। Axure RP প্রোটোটাইপের মাধ্যমে আপনি যখন ওয়েব অ্যাপ্লিকেশন ডিজাইন করছেন, তখন এই ধরনের ক্রন জব এবং ইভেন্ট-ভিত্তিক কার্যক্রম AWS-এর মাধ্যমে পরিচালনা করা আরও সহজ হয়ে যায়।
Read more