Amazon API Gateway এবং AWS Lambda ব্যবহার করে আপনি DocumentDB তে সহজে অ্যাক্সেস করতে পারেন এবং এটি একটি serverless architecture তৈরি করতে সাহায্য করে। এই সমাধানটি বিশেষভাবে উপকারী যখন আপনি একটি RESTful API তৈরি করতে চান, যা অ্যাপ্লিকেশন বা ক্লায়েন্ট থেকে DocumentDB ডেটাবেসে ডেটা পাঠাতে বা পাওয়ার অনুমতি দেয়। API Gateway ক্লায়েন্ট রিকোয়েস্ট গ্রহণ করবে এবং Lambda ফাংশনটি DocumentDB এর সাথে ইন্টিগ্রেটেড হয়ে রিকোয়েস্ট প্রক্রিয়া করবে।
Lambda ফাংশনটি DocumentDB-এর সাথে কাজ করতে সক্ষম হওয়ার জন্য, এটি DocumentDB Driver ব্যবহার করে MongoDB-এ কুয়েরি পাঠাতে সক্ষম হতে হবে।
MongoDB Node.js Driver ইনস্টল করুন: Lambda ফাংশনটি MongoDB বা DocumentDB ডেটাবেসের সাথে সংযোগ করতে MongoDB Node.js Driver ব্যবহার করবে। আপনি যদি Node.js ব্যবহার করেন, তাহলে নিচের মতো কোড ব্যবহার করতে পারেন:
npm install mongodb
Lambda কোড লিখুন:
const { MongoClient } = require("mongodb");
const uri = "mongodb://<username>:<password>@<documentdb-endpoint>:27017";
const client = new MongoClient(uri, { useNewUrlParser: true, useUnifiedTopology: true });
exports.handler = async (event) => {
const response = {
statusCode: 200,
body: JSON.stringify('Hello from Lambda!'),
};
try {
await client.connect();
const database = client.db("myDatabase");
const collection = database.collection("myCollection");
// Perform a read operation (for example, finding a document)
const document = await collection.findOne({ "name": "John Doe" });
response.body = JSON.stringify(document);
} catch (error) {
response.statusCode = 500;
response.body = JSON.stringify({ error: error.message });
} finally {
await client.close();
}
return response;
};
uri
: এখানে আপনাকে আপনার DocumentDB-এর Endpoint এবং Port ব্যবহার করতে হবে।"myDatabase"
নামক ডেটাবেস এবং "myCollection"
নামক কলেকশনটি ব্যবহার করা হয়েছে। আপনি আপনার বাস্তব ডেটাবেস এবং কলেকশন নাম ব্যবহার করবেন।AmazonDocDBFullAccess
পলিসি অ্যাটাচ করতে হবে।API Gateway ক্লায়েন্টদের জন্য একটি API প্রদান করবে, যা Lambda ফাংশনে রিকোয়েস্ট পাঠাবে। এই API তে HTTP রিকোয়েস্টগুলি চলে আসবে এবং Lambda ফাংশন সেই রিকোয়েস্ট হ্যান্ডেল করবে।
GET /fetchDocument
বা POST /updateDocument
যা Lambda ফাংশনকে কল করবে।prod
বা dev
) নির্বাচন করুন।আপনার API Gateway সেটআপ সম্পন্ন হলে, আপনি HTTP রিকোয়েস্ট পাঠাতে পারবেন এবং Lambda ফাংশনটি DocumentDB এর সাথে কাজ করবে।
উদাহরণস্বরূপ:
curl -X GET https://<api-id>.execute-api.<region>.amazonaws.com/prod/fetchDocument
try-catch
ব্লক ব্যবহার করতে পারেন এবং ত্রুটি বার্তা ক্লায়েন্টকে ফিরিয়ে দিতে পারেন।API Gateway এবং Lambda ব্যবহার করে Amazon DocumentDB অ্যাক্সেস করা একটি serverless এবং স্কেলেবল সমাধান। API Gateway ক্লায়েন্টের HTTP রিকোয়েস্ট গ্রহণ করে, যা Lambda ফাংশন দ্বারা প্রক্রিয়াজাত হয় এবং তারপর DocumentDB এর সাথে ইন্টারঅ্যাক্ট করে। এই সেটআপটি নিরাপদ, ফ্লেক্সিবল, এবং অত্যন্ত স্কেলেবল, যা আপনার অ্যাপ্লিকেশনের জন্য API তৈরি করতে সহায়ক।
common.read_more