AWS Lambda ব্যবহার করে Amazon API গেটওয়ের পরিচিতি

AWS Lambda ব্যবহার করে Amazon API গেটওয়ের পরিচিতি

উত্স নোড: 1860150

ভূমিকা

একটি এপিআই কি?

সহজ ভাষায়, API হল একটি মেসেঞ্জার; আসুন কিছু উদাহরণ দিয়ে এটি বুঝতে পারি। ধরা যাক আপনি ক্ষুধার্ত এবং আপনার বাড়িতে কিছু রান্না করা দরকার। আপনি যদি নুডুলস বানাতে চান, আপনি শুধু আলমারি থেকে উপাদানগুলো বের করে নিন, চুলা জ্বালিয়ে নিন এবং নিজেই তৈরি করুন। এটি এমন একটি প্রোগ্রাম যা তার নিজস্ব সংস্থান দিয়ে নিজেরাই কিছু করছে। কিন্তু বলুন আপনি পিৎজা চান - আপনার কাছে উপাদান নেই, এবং আপনার বাড়ির ওভেন সত্যিই একটি সুন্দর ক্রিস্পি ক্রাস্ট তৈরির জন্য উপযুক্ত নয়। তাই আপনি পরিবর্তে একটি পিজা জায়গায় যান. কিন্তু বাড়ির বিপরীতে, আপনি কেবল রান্নাঘরে যেতে পারবেন না এবং পিৎজা তৈরি করতে তাদের উপাদানগুলি ব্যবহার শুরু করতে পারবেন না। তারা তাদের সমস্ত জিনিসপত্রের উপর আপনার নোংরা হাত চায় না! তো এখন তুমি কি করবে? আপনাকে কাউন্টারে যেতে হবে এবং একটি অর্ডার করতে হবে - আপনি কোন পিজা অর্ডার করতে পারেন এবং কোন টপিং বা অন্যান্য বিকল্পগুলি বেছে নিতে পারেন তা তালিকাভুক্ত একটি মেনু থাকবে। এটি একটি API।

একটি অ্যাপ্লিকেশন প্রোগ্রামিং ইন্টারফেস (API) হল নিয়মগুলির একটি সেট যা নির্দিষ্ট করে যে দুটি সফ্টওয়্যার প্রোগ্রাম কীভাবে ইন্টারঅ্যাক্ট করবে।

একটি API একটি সফ্টওয়্যার প্রোগ্রামকে অন্য সফ্টওয়্যার প্রোগ্রামের কার্যকারিতা অ্যাক্সেস করতে দেয়। উদাহরণস্বরূপ, যদি আপনার কাছে এমন একটি সফ্টওয়্যার প্রোগ্রাম থাকে যা ইন্টারনেট থেকে ডেটা পুনরুদ্ধার করতে হয় তবে এটি একটি API ব্যবহার করে সার্ভার থেকে সেই ডেটার অনুরোধ করতে পারে। সার্ভার তারপর অনুরোধ করা ডেটার সাথে সাড়া দেবে, এবং সফ্টওয়্যার প্রোগ্রাম প্রয়োজন অনুযায়ী এটি ব্যবহার করতে পারে।

APIs ব্যবহার করা হয় বিভিন্ন সফ্টওয়্যার প্রোগ্রামগুলিকে একে অপরের সাথে যোগাযোগ করতে এবং ডেটা এবং কার্যকারিতা ভাগ করার জন্য। এগুলি আধুনিক সফ্টওয়্যার বিকাশের একটি গুরুত্বপূর্ণ অংশ, কারণ তারা বিভিন্ন সিস্টেমকে একসাথে কাজ করার অনুমতি দেয় এবং আরও জটিল এবং শক্তিশালী সফ্টওয়্যার অ্যাপ্লিকেশন তৈরি করতে সক্ষম করে।

HTTP API

এইচটিটিপি এপিআই হল এক ধরনের এপিআই যা ডেটা পাঠানো এবং গ্রহণ করার জন্য HTTP প্রোটোকল ব্যবহার করে। এটি সফ্টওয়্যার প্রোগ্রামগুলিকে HTTP অনুরোধ এবং প্রতিক্রিয়া ব্যবহার করে ডেটা পাঠাতে এবং গ্রহণ করতে দেয়। এই অনুরোধ এবং প্রতিক্রিয়া বিভিন্ন ফর্ম্যাটে হতে পারে, যেমন প্লেইন টেক্সট, JSON, বা XML৷ এগুলি সাধারণত ওয়েব অ্যাপ্লিকেশন, মোবাইল অ্যাপস এবং মাইক্রোসার্ভিস সহ বিভিন্ন অ্যাপ্লিকেশনে ব্যবহৃত হয়। এই APIগুলি REST APIগুলির তুলনায় তুলনামূলকভাবে সস্তা এবং পরবর্তীগুলির তুলনায় কম কার্যকারিতা রয়েছে৷

REST এপিআই

REST API হল এক ধরনের API যা REST (প্রতিনিধিত্বমূলক রাজ্য স্থানান্তর) নামক স্থাপত্য নীতির একটি সেট অনুসরণ করে। REST হল সফ্টওয়্যার আর্কিটেকচারের একটি শৈলী যা ওয়েব API তৈরির জন্য সীমাবদ্ধতার একটি সেট সংজ্ঞায়িত করে।

স্টেটফুল API

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

রাষ্ট্রহীন API

অন্যদিকে, একটি স্টেটলেস API ক্লায়েন্ট অনুরোধ সম্পর্কে তথ্য বজায় রাখে না। এটি পূর্ববর্তী অনুরোধ সম্পর্কে কোনো তথ্য সংরক্ষণ না করে প্রতিটি অনুরোধ স্বাধীনভাবে প্রক্রিয়া করে। এর অর্থ হল API সার্ভার-সাইড সেশন বজায় রাখে না এবং পরবর্তী অনুরোধগুলি প্রক্রিয়া করতে পূর্ববর্তী অনুরোধগুলি থেকে ডেটা ব্যবহার করে না।

স্টেটফুল এবং স্টেটলেস API-এর মধ্যে মূল পার্থক্য

স্টেটফুল এবং স্টেটলেস API-এর মধ্যে কিছু মূল পার্থক্য নিচে দেওয়া হল:

স্টেটফুল এপিআই

স্টেটলেস এপিআই

1. ক্লায়েন্ট অনুরোধ সম্পর্কে ডেটা সঞ্চয় করার জন্য একটি সার্ভার-সাইড সেশন প্রয়োজন৷ 1. ক্লায়েন্ট অনুরোধ সম্পর্কে ডেটা সঞ্চয় করার জন্য সার্ভার-সাইড সেশনের প্রয়োজন নেই৷
2. এগুলি কখনও কখনও স্টেটলেস এপিআইগুলির চেয়ে ধীর হতে পারে কারণ তাদের ডেটা প্রয়োজন এবং সংরক্ষণ করতে সময় লাগে। 2. স্টেটলেস এপিআই দ্রুততর কারণ এগুলির প্রয়োজন হয় না এবং অনুরোধ সম্পর্কে ডেটা সঞ্চয় করে।
3. স্টেটফুল এপিআই স্কেল করা সহজ নয়  3. স্কেল করা সহজ কারণ তাদের আগের অনুরোধগুলি সম্পর্কে ডেটা বজায় রাখার প্রয়োজন নেই৷
4. সাধারণত স্টেটলেস এপিআই-এর থেকে কম নিরাপদ বলে বিবেচিত হয় 4. এগুলি সাধারণত আরও নিরাপদ বলে মনে করা হয়।

আমাজন API গেটওয়ে কি?

Amazon API গেটওয়ে হল একটি AWS পরিষেবা যা স্টেটফুল (ওয়েবসকেট) এবং স্টেটলেস (HTTP এবং REST) ​​API উভয়ই তৈরি, রক্ষণাবেক্ষণ এবং নিরীক্ষণ করতে ব্যবহৃত হয়। আমরা অ্যাক্সেস করতে এই APIগুলি ব্যবহার করতে পারি:

  1. যেকোনো AWS পরিষেবা
  2. AWS ক্লাউডে সংরক্ষিত ডেটা (যেমন S3 বালতি)
  3. অন্য কোনো ওয়েব পরিষেবা।

আপনি যদি একজন এপিআই ডেভেলপার হন, আপনি সহজেই আপনার এপিআই থার্ড-পার্টি ডেভেলপারদের কাছেও তৈরি করতে পারেন।

AWS API গেটওয়ের প্রধানত দুই ধরনের ব্যবহারকারী রয়েছে।

  1. i) API বিকাশকারী যারা API গেটওয়েতে প্রয়োজনীয় কার্যকারিতা সক্ষম করতে একটি API তৈরি এবং স্থাপন করে
  2. ii) অ্যাপ ডেভেলপার যারা API ডেভেলপারের গ্রাহক।

আমাজন API গেটওয়ে আর্কিটেকচার

স্থাপত্য

এই আর্কিটেকচারটি ব্যাখ্যা করে যে কীভাবে সার্ভারহীন অ্যাপ্লিকেশনগুলি সামঞ্জস্যপূর্ণ এবং সমন্বিত বিকাশকারী অভিজ্ঞতার সাথে তৈরি করা যেতে পারে। শেষ ব্যবহারকারী থেকে ডেটা সেন্টার পর্যন্ত, API গেটওয়ে জড়িত সমস্ত কাজ পরিচালনা করে, যেমন হাজার হাজার সমসাময়িক কল গ্রহণ এবং প্রক্রিয়াকরণ, ট্রাফিক ব্যবস্থাপনা, অনুমোদন, পর্যবেক্ষণ, অ্যাক্সেস নিয়ন্ত্রণ ইত্যাদি।

আমাজন API গেটওয়ে বৈশিষ্ট্য

  1. এটি স্টেটফুল এবং স্টেটলেস API উভয়কেই সমর্থন করে। (উদাহরণ: ওয়েবসকেট, HTTP, এবং REST)।
  2. শক্তিশালী প্রমাণীকরণ প্রক্রিয়ার মধ্যে রয়েছে AWS আইডেন্টিটি, অ্যাক্সেস ম্যানেজমেন্ট পলিসি এবং ল্যাম্বডা অথরিজার।
  3. বিকাশকারী পোর্টাল যেখানে APIs বিকাশকারীরা তাদের API প্রকাশ করতে পারে।
  4. অ্যালার্ম সেট করার বিকল্প সহ ক্লাউডওয়াচের জন্য এক্সিকিউশন এবং অ্যাক্সেস লগিং।
  5. অন্যান্য AWS পরিষেবাগুলির সাথে একীকরণ যেমন এডাব্লুএস ল্যাম্বদা এবং AWS Kinesis.
  6. AWS WAF-এর সাথে ইন্টিগ্রেশন ওয়েব শোষণের বিরুদ্ধে সুরক্ষার জন্য ব্যবহার করা হয়, এবং AWS X-Ray পারফরম্যান্স লেটেন্সিগুলি বোঝা এবং জোর দেওয়ার জন্য ব্যবহার করা হয়।

Amazon API গেটওয়ে দিয়ে শুরু করা

এখন আমরা একটি সার্ভারহীন API তৈরি করতে যাচ্ছি। সার্ভারহীন API-এ, আমরা সার্ভার পরিচালনায় সময় ব্যয় করার পরিবর্তে আমাদের অ্যাপ্লিকেশনগুলিতে ফোকাস করতে পারি। এটি এই মত কাজ করে:

  • API ক্লায়েন্ট দ্বারা আহ্বান করা হয়
  • API ল্যাম্বডাকে অনুরোধ পাঠায়
  • Lambda ল্যাম্বডা ফাংশন চালায় এবং ফলাফলটি API-এ ফেরত পাঠায়
  • ল্যাম্বডা থেকে ফলাফল পাওয়ার পরে, API ক্লায়েন্টকে সাড়া দেয়

http api

ধাপ 1 - একটি ল্যাম্বডা ফাংশন তৈরি করুন

Lambda ফাংশন আমাদের API এর ব্যাকএন্ডের জন্য ব্যবহৃত হয়। ল্যাম্বডা শুধুমাত্র প্রয়োজন হলেই কোড চালায়। এটি প্রতিদিন কয়েকটি অনুরোধ থেকে প্রতি সেকেন্ডে হাজার অনুরোধে স্বয়ংক্রিয়ভাবে স্কেল করে।

লাম্বাডা ফাংশন তৈরি করুন

একটি ল্যাম্বডা ফাংশন তৈরি করা হচ্ছে:

1) https://console.aws.amazon.com/lambda-এ ল্যাম্বডা কনসোলে যান

2) Create function এ ক্লিক করুন।

3) ফাংশনের নাম হিসাবে "my-function" লিখুন।

4) রানটাইম হিসাবে পাইথন 3.9 চয়ন করুন।

5) এই ফাংশনের জন্য আমাদের অনুমতি এবং উন্নত সেটিংস ট্যাবে কিছু পরিবর্তন করতে হবে না কারণ ডিফল্ট অনুমতিগুলি এই প্রদর্শনের জন্য যথেষ্ট।

4) Create function এ ক্লিক করুন।

ধাপ 2 - একটি HTTP API তৈরি করা

আমাজন এপিআই

HTTP API আপনার Lambda ফাংশনের জন্য একটি HTTP শেষ পয়েন্ট প্রদান করে। এটি এই মত কাজ করে:

  • ক্লায়েন্ট HTTP API-তে ক্যোয়ারী জমা দেয়
  • এপিআই ল্যাম্বডাকে ট্রিগার করে যা তারপর ল্যাম্বডা ফাংশনটি চালায়
  • Lambda ফলাফলটি API এ পাঠায়
  • API প্রাপ্ত প্রতিক্রিয়া সহ ক্লায়েন্টকে সাড়া দেয়

একটি HTTP API তৈরি করার পদক্ষেপ

1) https://console.aws.amazon.com/apigateway এ API গেটওয়ে কনসোল দেখুন

2) আপনার প্রথম HTTP API তৈরি করতে বিল্ড এ ক্লিক করুন

3) ইন্টিগ্রেশনের জন্য Add integration-এ ক্লিক করুন

4) Lambda নির্বাচন করুন।

5) আপনার ল্যাম্বডা ফাংশন মাই-ফাংশন লিখুন।

6) API নামের জন্য, my-http-api লিখুন।

7) Next এ ক্লিক করুন।

8) আপনার জন্য তৈরি রুট পর্যালোচনা করুন, এবং তারপর পরবর্তী নির্বাচন করুন।

9) আপনার জন্য তৈরি পর্যায় পর্যালোচনা করুন, এবং তারপর পরবর্তী নির্বাচন করুন।

10) Create এ ক্লিক করুন।

ধাপ 3 আপনার API পরীক্ষা করুন -

এর পরে, এটি কাজ করছে কিনা তা নিশ্চিত করতে আমাদের API পরীক্ষা করতে হবে। এর জন্য আমরা আমাদের API চালু করতে একটি ওয়েব ব্রাউজার ব্যবহার করব।

আমাজন এপিআই

আমাদের API পরীক্ষা করতে

  1. https://console.aws.amazon.com/apigateway-এ API গেটওয়ে কনসোলে যান
  2. আপনার API নির্বাচন করুন.
  3. আপনার API এর ইনভোক URL টি নোট করুন। (উপরের ছবিটি দেখুন)
  4. আপনার API এর আহ্বান URL অনুলিপি করুন, এবং এটি একটি ওয়েব ব্রাউজারে আটকান৷ আপনার ল্যাম্বডা ফাংশন কল করতে ইনভোক URL এবং আপনার ল্যাম্বডা ফাংশনের নাম যোগ করুন। API গেটওয়ে কনসোল ডিফল্টরূপে আপনার Lambda ফাংশন "my-function" এর নাম ব্যবহার করে একটি রুট তৈরি করে। 

    সম্পূর্ণ URLটি দেখতে https://abcdef123.execute-api.us-east-2.amazonaws.com/my-function এর মতো হওয়া উচিত। আপনি যখন এই URLটি লোড করেন, তখন আপনার ব্রাউজার দ্বারা API এ একটি GET অনুরোধ পাঠানো হয়

  1. আপনি "ল্যাম্বদা থেকে হ্যালো!" পাঠ্যটি দেখতে পাবেন। আপনার ব্রাউজারে। তাই আপনার API এর প্রতিক্রিয়া যাচাই করা হয়েছে।

আমাজন এপিআই

উপসংহার

আমরা Amazon API গেটওয়ে এবং AWS Lambda ব্যবহার করে আমাদের প্রথম HTTP API তৈরি করেছি। আরও, আমরা একই ব্যবহারের বিভিন্ন ক্ষেত্রে অন্বেষণ করতে পারি, এবং একইভাবে, আমরা REST API তৈরি করতে পারি, যা আরও কার্যকারিতা প্রদান করে।

আপনি কি এই আর্টিকেলটি পছন্দ করেছেন? নীচের মন্তব্যে আপনার চিন্তা আমাদের বলুন. এছাড়াও, আপনি পরবর্তী কোন নিবন্ধটি পড়তে চান তা উল্লেখ করতে ভুলবেন না।

সময় স্ট্যাম্প:

থেকে আরো বিশ্লেষণ বিদ্যা