AWS ইভেন্ট সোর্স (S3, DynamoDB, API Gateway, SNS, SQS)

Lambda এর ট্রিগার এবং ইভেন্ট সোর্স - এডাব্লিউএস ল্যাম্বডা (AWS Lambda) - Web Development

317

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 ফাংশনের সাথে সহজেই সংযুক্ত করা যেতে পারে। এর মাধ্যমে, আপনি আপনার অ্যাপ্লিকেশনগুলোর সিস্টেম ইন্টিগ্রেশন, ডেটা প্রসেসিং এবং অটোমেশন আরও শক্তিশালী করতে পারেন।

Content added By
Promotion

Are you sure to start over?

Loading...