Lambda এবং API Gateway এর মাধ্যমে ডেটা অ্যাক্সেস

Database Tutorials - ডকুমেন্ট ডিবি (DocumentDB) বাস্তব উদাহরণ এবং ব্যবহারিক ডেমো |
222
222

AWS Lambda এবং API Gateway ব্যবহার করে আপনি খুব সহজে একটি serverless আর্কিটেকচার তৈরি করতে পারেন যা ডেটা অ্যাক্সেসের জন্য সম্পূর্ণ স্কেলেবল এবং খরচ-কার্যকরী হতে পারে। Lambda একটি serverless computing পরিষেবা, যা কোড রান করার জন্য কোনো সার্ভার পরিচালনা করার প্রয়োজন হয় না, এবং API Gateway এর মাধ্যমে আপনি সহজেই HTTP(S) API তৈরি করতে পারেন যা Lambda ফাংশনকে ট্রিগার করবে।

এই সিস্টেমটি মূলত RESTful API হিসাবে কাজ করে, যেখানে API Gateway রিকোয়েস্ট গ্রহণ করে এবং Lambda ফাংশনকে ট্রিগার করে, যাতে ডেটা রিটার্ন বা প্রক্রিয়া করা যায়। এখানে কীভাবে Lambda এবং API Gateway এর মাধ্যমে ডেটা অ্যাক্সেস করা যায় তা ব্যাখ্যা করা হলো।


১. AWS Lambda এবং API Gateway কীভাবে কাজ করে?

  1. API Gateway: এটি AWS এর একটি fully managed পরিষেবা যা HTTP(S) API তৈরি করতে ব্যবহার করা হয়। API Gateway রিকোয়েস্ট গ্রহণ করে এবং সেই রিকোয়েস্টটি Lambda ফাংশনে প্রেরণ করে।
    • HTTP Methods: API Gateway GET, POST, PUT, DELETE, এবং অন্যান্য HTTP মেথড সমর্থন করে, যা Lambda ফাংশনকে বিভিন্ন ধরণের অ্যাকশন করতে সক্ষম করে।
    • Route: API Gateway URL রাউটিং পরিচালনা করে, অর্থাৎ কোন URL পাথ কোন Lambda ফাংশনকে ট্রিগার করবে তা কনফিগার করে।
  2. AWS Lambda: Lambda হলো serverless computing পরিষেবা যেখানে আপনি কোড রান করার জন্য কোনো সার্ভার ম্যানেজমেন্ট করতে হয় না। Lambda API Gateway এর মাধ্যমে রিকোয়েস্ট গ্রহণ করে, সেই অনুযায়ী কোড রান করে এবং রেসপন্স প্রদান করে।
    • Triggering: API Gateway Lambda ফাংশনকে HTTP রিকোয়েস্টের মাধ্যমে ট্রিগার করে এবং Lambda ফাংশন ডেটা প্রক্রিয়া করার পরে API Gateway রেসপন্স ক্লায়েন্টে ফেরত পাঠায়।

২. Lambda এবং API Gateway সেটআপের ধাপসমূহ

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

  1. Lambda ফাংশন তৈরি করুন:
    • AWS Management Console এ গিয়ে Lambda সেবা নির্বাচন করুন।
    • "Create function" বাটনে ক্লিক করুন এবং নতুন ফাংশন তৈরি করুন।
    • ফাংশনের জন্য একটি নাম, রUNTIME (যেমন Python, Node.js, Java) এবং কোড সরবরাহ করুন।
  2. Lambda ফাংশন কোড লিখুন: Lambda ফাংশনে সাধারণত ডেটাবেসের সাথে যোগাযোগ করতে কোড লেখার প্রয়োজন হতে পারে। উদাহরণস্বরূপ, যদি আপনি DocumentDB বা DynamoDB ব্যবহার করেন, তাহলে AWS SDK ব্যবহার করে ডেটাবেস অপারেশন সম্পাদন করতে পারেন।

    উদাহরণ (Node.js - DynamoDB ব্যবহার):

    const AWS = require('aws-sdk');
    const dynamoDB = new AWS.DynamoDB.DocumentClient();
    
    exports.handler = async (event) => {
        const params = {
            TableName: "YourTableName",
            Key: {
                "PrimaryKey": event.pathParameters.id
            }
        };
    
        try {
            const data = await dynamoDB.get(params).promise();
            return {
                statusCode: 200,
                body: JSON.stringify(data.Item),
            };
        } catch (err) {
            return {
                statusCode: 500,
                body: JSON.stringify({ message: "Error fetching data" }),
            };
        }
    };
    

ধাপ ২: API Gateway তৈরি করা

  1. API Gateway তৈরি করুন:
    • AWS Management Console থেকে API Gateway সেবা নির্বাচন করুন।
    • "Create API" অপশনটি নির্বাচন করুন এবং একটি REST API তৈরি করুন।
    • API এর নাম এবং অন্যান্য কনফিগারেশন প্রদান করুন।
  2. Lambda ফাংশনকে API Gateway এর সাথে সংযুক্ত করুন:
    • API Gateway এ Method নির্বাচন করুন (যেমন GET, POST)।
    • Method এর Integration Type হিসেবে Lambda Function নির্বাচন করুন।
    • Lambda ফাংশন নির্বাচন করুন, যা API Gateway এর মাধ্যমে ট্রিগার হবে।
  3. API ডিপ্লয় করুন:
    • একবার আপনার API সেটআপ হয়ে গেলে, সেটিকে Deploy করুন।
    • API Gateway ডিপ্লয় করার সময় stage নির্বাচন করুন (যেমন prod, dev) এবং URL পাবেন, যা আপনি ক্লায়েন্ট অ্যাপ্লিকেশন থেকে ব্যবহার করতে পারবেন।

ধাপ ৩: API ব্যবহার করে ডেটা অ্যাক্সেস করা

একবার আপনি Lambda ফাংশন এবং API Gateway তৈরি করে ফেললে, আপনার API Gateway URL ব্যবহার করে HTTP রিকোয়েস্ট পাঠিয়ে ডেটা অ্যাক্সেস করা যাবে। উদাহরণস্বরূপ:

  • GET Request: API Gateway URL এর মাধ্যমে HTTP GET রিকোয়েস্ট পাঠিয়ে Lambda ফাংশন ট্রিগার করুন এবং ডেটা ফেরত নিন।

    curl -X GET "https://your-api-id.execute-api.amazonaws.com/prod/resource/12345"
    

    Lambda ফাংশন প্রক্রিয়া করবে এবং ডেটা ফিরে পাঠাবে।


৩. Lambda এবং API Gateway এর মধ্যে নিরাপত্তা

  1. API Gateway Authorization: API Gateway বিভিন্ন authorization mechanisms সমর্থন করে:
    • IAM Roles: Lambda ফাংশনের জন্য অনুমতি নির্ধারণ করতে IAM রোল ব্যবহার করুন।
    • Cognito User Pools: Cognito User Pool ব্যবহার করে ব্যবহারকারীদের অথেনটিকেট করুন।
    • Custom Authorizers: আপনার নিজস্ব অথেনটিকেশন লজিক প্রয়োগ করার জন্য Lambda Authorizers ব্যবহার করুন।
  2. API Gateway Rate Limiting: API Gateway আপনার API-তে ট্রাফিক নিয়ন্ত্রণ করতে throttling এবং rate limiting সেটআপ করতে পারে, যা অতিরিক্ত লোড এবং সিস্টেম ক্র্যাশ এড়াতে সহায়ক।

৪. Lambda এবং API Gateway এর জন্য খরচ অপটিমাইজেশন

  1. Lambda Execution Time Optimization: Lambda ফাংশনটির কার্যকারিতা দ্রুত করার জন্য কোড অপটিমাইজ করুন এবং ফাংশনের execution time কমানোর চেষ্টা করুন।
  2. API Gateway Caching: API Gateway-তে response caching সক্ষম করলে, সার্ভার থেকে একই ডেটা বারবার পাঠানো এড়ানো যায় এবং খরচ কমে।

সারাংশ

Lambda এবং API Gateway এর মাধ্যমে ডেটা অ্যাক্সেস একটি serverless এবং স্কেলেবল সমাধান প্রদান করে। এটি দ্রুত ডেটা প্রক্রিয়াকরণ এবং পারফরম্যান্স বৃদ্ধির জন্য কার্যকরী। API Gateway সহজেই HTTP API তৈরি করে এবং Lambda ফাংশনকে ট্রিগার করে ডেটাবেস থেকে ডেটা পুনরুদ্ধার করতে সাহায্য করে। এটি অ্যাপ্লিকেশন ডেভেলপমেন্টে খরচ কমাতে এবং স্কেলেবিলিটি বজায় রাখতে সহায়ক।

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

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

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

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