Real-time Data Trigger কনফিগারেশন

Database Tutorials - ডাইনামোডিবি (DynamoDB) DynamoDB Streams এবং Lambda Integration |
230
230

Amazon DynamoDB Streams এবং AWS Lambda ব্যবহার করে আপনি real-time ডেটা ট্রিগার করতে পারেন। DynamoDB Streams এর মাধ্যমে আপনি DynamoDB টেবিলের সব পরিবর্তন (Insert, Update, Delete) ট্র্যাক করতে পারেন, এবং AWS Lambda ফাংশন ব্যবহার করে সেই পরিবর্তনগুলির উপর নির্দিষ্ট কাজ বা প্রসেসিং করতে পারেন।

এই কনফিগারেশনটি অত্যন্ত কার্যকরী যখন আপনি:

  • রিয়েল-টাইমে ডেটা প্রসেস করতে চান,
  • ডেটা পরিবর্তনগুলির উপর কোনো নির্দিষ্ট প্রক্রিয়া বা অ্যালার্ম চালাতে চান,
  • বা অন্য কোনো সিস্টেমে ডেটা পাঠাতে চান।

ধাপ ১: DynamoDB Streams চালু করা

প্রথমে, আপনাকে DynamoDB Streams চালু করতে হবে যাতে টেবিলের সব পরিবর্তন ট্র্যাক করা যায়।

  1. AWS Management Console তে লগ ইন করুন।
  2. DynamoDB টেবিলটি নির্বাচন করুন, যেখানে আপনি Streams চালু করতে চান।
  3. টেবিলের Stream অপশনটি নির্বাচন করুন এবং স্ট্রিমের মোড নির্বাচন করুন:
    • New image: নতুন ডেটা
    • Old image: পুরানো ডেটা
    • New and old images: নতুন এবং পুরানো ডেটা একসাথে
  4. Enable Stream ক্লিক করুন।

এখন আপনার টেবিলের জন্য DynamoDB Streams চালু হয়ে যাবে এবং ডেটা পরিবর্তনের ট্র্যাকিং শুরু হবে।


ধাপ ২: AWS Lambda ফাংশন তৈরি করা

আপনার স্ট্রিম থেকে ডেটা টেনে এনে কিছু অ্যাকশন (যেমন: ডেটাবেস আপডেট, ইমেইল পাঠানো, লগিং, বা অন্য কোনো প্রসেসিং) করতে AWS Lambda ফাংশন তৈরি করতে হবে।

  1. AWS Management Console তে লগ ইন করুন।
  2. Services থেকে Lambda নির্বাচন করুন এবং Create function ক্লিক করুন।
  3. Author from scratch নির্বাচন করুন, একটি ফাংশন নাম দিন এবং Runtime হিসেবে Python, Node.js বা আপনার পছন্দের ভাষা নির্বাচন করুন।
  4. ফাংশনের কোড এডিটর থেকে আপনার Lambda ফাংশন লিখুন, যা DynamoDB Streams থেকে ডেটা প্রক্রিয়াকরণ করবে। উদাহরণস্বরূপ:

    import json
    
    def lambda_handler(event, context):
        # DynamoDB Stream থেকে ইভেন্ট প্রাপ্তি
        for record in event['Records']:
            print("DynamoDB Event: ", record)
            
            # এখানে আপনার প্রক্রিয়াকরণ কোড হবে (যেমন ডেটাবেস আপডেট, লগিং, বা অন্য কাজ)
        
        return {
            'statusCode': 200,
            'body': json.dumps('Success')
        }
    

ধাপ ৩: DynamoDB Streams এবং Lambda ফাংশন সংযোগ করা

এখন আপনি DynamoDB Streams এবং Lambda ফাংশন একসাথে সংযোগ করবেন, যাতে DynamoDB টেবিলে কোনো পরিবর্তন ঘটলেই Lambda ফাংশন স্বয়ংক্রিয়ভাবে ট্রিগার হয়।

  1. AWS Management Console এ ফিরে যান এবং Lambda পৃষ্ঠায় আপনার তৈরি করা ফাংশনটি নির্বাচন করুন।
  2. Add trigger এ ক্লিক করুন।
  3. DynamoDB নির্বাচন করুন এবং Stream ARN প্রদান করুন (এটি আপনি টেবিল থেকে পেয়েছেন)।
  4. Batch size নির্বাচন করুন (যতগুলো রেকর্ড একবারে Lambda ফাংশনে পাঠানো হবে) এবং Enable trigger ক্লিক করুন।

ধাপ ৪: Real-time ডেটা প্রসেসিং

এখন যখনই DynamoDB টেবিলে কোনো পরিবর্তন হবে, DynamoDB Streams সেই পরিবর্তনকে Lambda ফাংশনে পাঠাবে এবং আপনার ফাংশনটি সেই পরিবর্তনের উপর নির্ভর করে কিছু কাজ করবে (যেমন, ডেটা প্রসেসিং, সিস্টেমে ট্রিগার ইত্যাদি)।


ব্যবহারিক উদাহরণ

প্রেক্ষাপট: ধরুন, আপনি একটি ই-কমার্স অ্যাপ তৈরি করছেন এবং আপনি চান যে, যখনই কোনো অর্ডার স্থাপন হবে (DynamoDB টেবিলে Insert) তখনই একটি ইমেইল নোটিফিকেশন পাঠানো হবে।

Lambda ফাংশন উদাহরণ (Python):

import json
import boto3

# SES (Simple Email Service) client তৈরি
ses = boto3.client('ses')

def lambda_handler(event, context):
    for record in event['Records']:
        if record['eventName'] == 'INSERT':
            # নতুন অর্ডার ডেটা
            new_order = record['dynamodb']['NewImage']
            order_id = new_order['OrderID']['S']
            customer_email = new_order['CustomerEmail']['S']
            
            # ইমেইল পাঠানো
            response = ses.send_email(
                Source='your-email@example.com',
                Destination={
                    'ToAddresses': [customer_email]
                },
                Message={
                    'Subject': {'Data': f'Order {order_id} Confirmation'},
                    'Body': {'Text': {'Data': f'Your order {order_id} has been placed successfully!'}}
                }
            )
            print(f'Email sent to {customer_email} regarding order {order_id}')
            
    return {
        'statusCode': 200,
        'body': json.dumps('Success')
    }

এখানে যখন একটি নতুন অর্ডার DynamoDB টেবিলে ইনসার্ট হবে, Lambda ফাংশন তা ট্র্যাক করে এবং কাস্টমারের ইমেইলে একটি কনফার্মেশন পাঠাবে।


ধাপ ৫: ট্রিগার ও মনিটরিং

  1. CloudWatch Logs ব্যবহার করে Lambda ফাংশনের লগগুলি মনিটর করুন।
  2. Lambda ফাংশনটির পারফরম্যান্স ট্র্যাক করার জন্য AWS CloudWatch এবং DynamoDB Streams ব্যবহৃত হবে।

উপসংহার

DynamoDB Streams এবং Lambda ব্যবহার করে আপনি সহজেই Real-time Data Trigger কনফিগার করতে পারেন। এটি আপনাকে ডেটা পরিবর্তনগুলির উপর ভিত্তি করে বিভিন্ন ধরনের সিস্টেম ইন্টিগ্রেশন, অ্যাকশন ট্রিগার বা ডেটা প্রসেসিং করতে সাহায্য করে, যা আপনার অ্যাপ্লিকেশনের পারফরম্যান্স এবং ফিচার সমৃদ্ধ করে।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion