কিভাবে AWS API গেটওয়ের সাথে একটি Serverless Node.js API স্থাপন করবেন?

Kibhabe Aws Api Geta Oyera Sathe Ekati Serverless Node Js Api Sthapana Karabena



AWS হল একটি ক্লাউড কম্পিউটিং প্ল্যাটফর্ম যার একটি বিশাল পোর্টফোলিও পরিষেবা রয়েছে৷ ডেটা স্টোরেজ থেকে ডেটা ম্যানিপুলেশন এবং ডেটা বিশ্লেষণ, এই পরিষেবাগুলি আইটি শিল্পের বিভিন্ন দিককে কভার করে। আজ, AWS বিভিন্ন উন্নয়ন ভাষা এবং রানটাইম পরিবেশকেও সমর্থন করছে। এই ধরনের পরিষেবাগুলির সবচেয়ে সাধারণ উদাহরণগুলির মধ্যে একটি হল AWS Lambda৷

এডব্লিউএস ল্যাম্বদা AWS-এর একটি ইভেন্ট-চালিত কম্পিউটিং পরিষেবা যা এর ব্যবহারকারীদের সার্ভার প্রদান বা পরিচালনা ছাড়াই তাদের কোড কার্যকর করতে দেয়। ল্যাম্বদা দক্ষতার সাথে সমস্ত কম্পিউটিং অবকাঠামো এবং সংস্থানগুলির প্রশাসন পরিচালনা করে। ল্যাম্বডা পরিষেবার দ্বারা সমর্থিত একাধিক উন্নয়ন ভাষা রয়েছে যেমন, Go, Ruby, Python, ইত্যাদি। Lambda-কে একটি সাশ্রয়ী পরিষেবা হিসাবেও বিবেচনা করা হয় কারণ এটি শুধুমাত্র ব্যবহারকারীর কম্পিউটিং সময়ের জন্য খরচ বহন করে। ল্যাম্বডা ফাংশনে প্রদত্ত কোডটি কার্যকরী অবস্থায় না থাকলে কোনো অতিরিক্ত চার্জ নেই।

আরও পড়ুন : AWS Lambda দিয়ে শুরু করা







দ্রুত রূপরেখা



এই নিবন্ধটি নিম্নলিখিত দিকগুলি ব্যাখ্যা করে:



একটি সার্ভারহীন ফ্রেমওয়ার্ক কি?

পদ 'সার্ভারহীন' পরিভাষা বোঝায় যেখানে সার্ভারের বিধান এবং রক্ষণাবেক্ষণ হয় তৃতীয় পক্ষের সফ্টওয়্যার বা ক্লাউড প্রদানকারী দ্বারা পরিচালিত হয়। এই ধরনের ফ্রেমওয়ার্ক ব্যবহারকারীদের সার্ভার বজায় রাখার পরিবর্তে মূল ব্যবসায়িক যুক্তিতে ফোকাস করার অনুমতি দেয়। আজ, সার্ভারহীন ফ্রেমওয়ার্ক টেক জায়ান্টদের দৃষ্টি আকর্ষণ করেছে এবং প্রচুর সুবিধা প্রদান করছে।





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

একটি API কি?

API এর সংক্ষিপ্ত রূপ 'আবেদন কার্যক্রম ইন্টারফেস'. API-এর আনুষ্ঠানিক প্রবর্তনের মধ্যে রয়েছে যে এটি সংজ্ঞা এবং প্রোটোকলের একটি সেট যা সফ্টওয়্যারের দুটি উপাদান বা একটি অ্যাপ্লিকেশনকে যোগাযোগের জন্য দরকারী তথ্য বিনিময় করতে দেয়।



API এর একটি রিয়েল-টাইম অ্যাপ্লিকেশন একটি ওয়েব ব্রাউজার ব্যবহার করে। যখনই একজন ব্যবহারকারী একটি ওয়েবসাইট অনুসন্ধান করে, অনুরোধটি সেই সার্ভারে পৌঁছে দেওয়া হয় যেখানে ওয়েবসাইটটি থাকে। সার্ভার এবং ব্রাউজারের মধ্যে এই যোগাযোগ API এর মাধ্যমে ঘটে।

API গেটওয়ে কি?

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

এপিআই গেটওয়েতে এপিআই এর বিভিন্ন প্রকার কি কি?

API গেটওয়ে নীচে উল্লিখিত তিনটি ভিন্ন ধরনের API-এর জন্য ব্যবস্থাপনা পরিষেবা প্রদান করে:

HTTP API: এই API ব্যাপকভাবে ওয়েব ডেভেলপমেন্টে ব্যবহৃত হয় যা শুধুমাত্র ক্লায়েন্ট-সাইডে সীমাবদ্ধ। এই ধরনের APIগুলি ব্যক্তিগত বা সর্বজনীন হিসাবে শ্রেণীবদ্ধ করা যেতে পারে।

বিশ্রাম API: REST শব্দটির অর্থ দাঁড়ায় 'রিপ্রেজেন্টেশন স্টেট ট্রান্সফার API'। এটি একটি সর্বাধিক ব্যবহৃত পদ্ধতি যা অ্যাপ্লিকেশনটির ফ্রন্টএন্ড এবং ব্যাকএন্ডকে আলাদা করে। REST APIs প্রকৃতির রাষ্ট্রহীন এবং উন্নয়ন ও বাস্তবায়নের জন্য নমনীয়।

WebSocket API: যখন সকেট যোগাযোগ জড়িত থাকে তখন এই ধরনের API ব্যবহার করা হয়। WebSocket API ব্যবহারকারীদের ওয়েব ডেভেলপমেন্টে দ্বি-মুখী পূর্ণ ডুপ্লেক্স যোগাযোগের জন্য সকেট তৈরি করতে দেয়। এই APIগুলি জাভাস্ক্রিপ্টে লেখা হয়।

কিভাবে API গেটওয়ের সাথে একটি সার্ভারহীন Node.js API স্থাপন করবেন?

API গেটওয়ের সাথে একটি Serverless Node.js API স্থাপনের জন্য, আমরা S3 বাকেট, Lambda ফাংশন এবং API গেটওয়ে ব্যবহার করব। S3 বালতিতে অ্যাপ্লিকেশনটির কোড থাকবে। হ্যান্ডলার হিসাবে ল্যাম্বডা ফাংশনকে বাকেটের অনন্য URI প্রদান করা হবে। এপিআই গেটওয়ে ল্যাম্বডা ফাংশনে ট্রিগার হিসাবে যোগ করা হবে যা ব্যবহারকারীর ইনপুট প্রক্রিয়া করবে এবং উপযুক্ত আউটপুট প্রদান করবে।

API গেটওয়ের সাথে একটি Serverless Node.js API স্থাপনের জন্য নিচের ধাপগুলি রয়েছে:

ধাপ 1: একটি Lambda ফাংশন তৈরি করুন

একটি Lambda ফাংশন তৈরি করতে, অ্যাক্সেস করুন 'ল্যাম্বদা' থেকে সেবা AWS ম্যানেজমেন্ট কনসোল :

আরও জানুন: 'কিভাবে পাইথন রানটাইম দিয়ে একটি ল্যাম্বডা ফাংশন তৈরি করবেন' .

Lambda ফাংশন ইন্টারফেসে, ক্লিক করুন 'ফাংশন তৈরি করুন' বোতাম:

ক্রিয়েট ফাংশন ইন্টারফেস থেকে, সিলেক্ট করুন 'শুরু থেকে লেখক' বিকল্প:

পরবর্তী আসে 'মৌলিক তথ্য' অধ্যায়. এই বিভাগে, Lambda ফাংশনের জন্য নাম প্রদান করুন 'ফাংশনের নাম' :

ক্লিক করুন 'ফাংশন তৈরি করুন' ইন্টারফেসের নীচে অবস্থিত বোতাম:

এখানে ফাংশন তৈরি করা হয়েছে সফলভাবে :

ধাপ 2: API গেটওয়ে তৈরি করুন

পরবর্তী ধাপ হল একটি API গেটওয়ে তৈরি করা। এই উদ্দেশ্যে, অ্যাক্সেস 'এপিআই গেটওয়ে' থেকে সেবা AWS ম্যানেজমেন্ট কনসোল :

API গেটওয়ে ইন্টারফেস নিচে স্ক্রোল করুন এবং ক্লিক করুন 'নির্মাণ' থেকে বিকল্প REST API ব্লক:

উপরে 'এপিআই তৈরি করুন' ইন্টারফেস, নির্বাচন করুন অনুসরণ হাইলাইট করা বিকল্প . আমরা একটি নির্মাণ করা হয় হিসাবে বিশ্রাম API স্ক্র্যাচ থেকে, আমরা নিম্নলিখিত বিকল্পগুলি বেছে নিয়েছি:

মধ্যে সেটিংস একই ইন্টারফেসের বিভাগে, এপিআই-এর জন্য নাম প্রদান করুন 'API নাম' টেক্সট ক্ষেত্রের:

ক্লিক করুন 'এপিআই তৈরি করুন' বোতাম:

সফলভাবে API তৈরি করার পরে, ক্লিক করুন 'কর্ম' বোতামে ক্লিক করুন এবং API এর সংস্থান এবং পদ্ধতিগুলি কনফিগার করতে নিম্নলিখিত হাইলাইট করা বিকল্পগুলি নির্বাচন করুন:

এরপরে, এপিআই-এর নাম দিন 'সম্পদের নাম' টেক্সট ক্ষেত্রের. মধ্যে সম্পদ পথ, ব্যবহারকারীরা সম্পদের পথ নির্দিষ্ট করতে পারেন। এই নির্দিষ্ট পথটি অনুরোধগুলি পরিচালনা করার জন্য মূল পদ্ধতির সাথে মিলিত হবে। ক্লিক করুন 'সম্পদ তৈরি করুন' বোতাম:

রিসোর্স তৈরি করার পর ক্লিক করুন 'কর্ম' আবার ট্যাব এবং নির্বাচন করুন 'সম্পদ তৈরি করুন' API এর ভিতরে পদ্ধতি এবং সংস্থান সংজ্ঞায়িত করার পদ্ধতি:

এর নাম দিন 'সম্পদের নাম' ক্ষেত্র এবং ক্লিক করুন 'সম্পদ তৈরি করুন' বোতাম:

নেস্টেড সংস্থানগুলি কনফিগার করার পরে, ট্যাপ করুন 'কর্ম' বোতাম এবং ক্লিক করুন 'পদ্ধতি তৈরি করুন' থেকে বোতাম ড্রপ-ডাউন মেনু :

আমরা ব্যবহার করে আমাদের API এর কাজ পরীক্ষা করতে চাই অনুরোধ পান Node.js-এ। অতএব, পদ্ধতি ইন্টারফেসে, আমরা নির্বাচন করব 'পাওয়া' অনুরোধ:

নির্বাচন করার পর অনুরোধ পান , ক্লিক করুন 'চেক' পরিবর্তন নিশ্চিত করতে বোতাম:

উপরে 'পাওয়া' মেথড ইন্টারফেস, ল্যাম্বডা ফাংশনের নাম দিন যা আমরা আগে তৈরি করেছি এবং নিম্নলিখিত কনফিগারেশনগুলি তৈরি করি। এর পর আঘাত হানে 'সংরক্ষণ' পরিবর্তন নিশ্চিত করতে বোতাম:

ক্লিক করার পর 'সংরক্ষণ' বোতাম, নিম্নলিখিত ডায়ালগ বক্স প্রদর্শিত হবে. ক্লিক করুন 'ঠিক আছে' বোতাম:

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

এটি নিম্নলিখিত ডায়ালগ বক্সটি প্রদর্শন করবে। মধ্যে 'নিয়োগ পর্যায়' বিস্তারিত প্রদান করুন। পরবর্তী আসে 'মঞ্চের নাম' স্টেজের নাম নির্দিষ্ট করার জন্য ক্ষেত্র। ক্লিক করুন 'মোতায়েন' বোতাম:

দ্য API হয়েছে সফলভাবে তৈরি :

নিচে নামুন ইন্টারফেস এবং ক্লিক করুন 'পরিবর্তনগুলোর সংরক্ষন' বোতাম:

ধাপ 3: S3 বালতি তৈরি করুন

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

একটি S3 বালতি তৈরি করতে, অনুসন্ধান করুন 'S3' সার্চ বারে পরিষেবা AWS ম্যানেজমেন্ট কনসোল। প্রদর্শিত ফলাফল থেকে পরিষেবার নাম আলতো চাপুন:

S3 কনসোলে, ক্লিক করুন 'বালতি তৈরি করুন' প্রক্রিয়া শুরু করার বিকল্প:

মধ্যে সাধারণ কনফিগারেশন বিভাগে, বালতির জন্য একটি বিশ্বব্যাপী অনন্য শনাক্তকারী প্রদান করুন হাইলাইট করা পাঠ্য ক্ষেত্র :

রাখার মাধ্যমে সেটিংস হিসাবে ডিফল্ট , ক্লিক করুন 'বালতি তৈরি করুন' ইন্টারফেসের নীচে বোতাম:

এটি বালতি তৈরি করবে। এখন, S3 বালতিতে কোড আপলোড করার জন্য, আমরা একটি প্রদান করেছি সাধারণ নোড জেএস কোড ভিতরে গিটহাব ভান্ডার কোড ডাউনলোড করুন জিপ বিন্যাস :

ডাউনলোড করার পর জিপ ফাইল , যাও S3 ড্যাশবোর্ড এবং বালতি নির্বাচন করুন। পরবর্তী ইন্টারফেসে, ক্লিক করুন 'আপলোড' বোতাম এবং আপলোড দ্য জিপ ফাইল বালতিতে:

আরও জানুন: অ্যামাজন সিম্পল স্টোরেজ সার্ভিসে কীভাবে অবজেক্ট আপলোড করবেন?

টোকা 'ফাইল যোগ করুন' ইন্টারফেসের ডানদিকে অবস্থিত বোতাম, এর প্রতিবেশী 'ফোল্ডার যোগ করুন' বোতাম যোগ করার পর জিপ ফাইল বালতিতে, আঘাত করুন 'আপলোড' ইন্টারফেসের নীচে বোতাম:

দ্য ফাইল হয়েছে সফলভাবে আপলোড করা হয়েছে :

পরে আপলোড ফাইলটি বালতিতে, ক্লিক করুন অবজেক্ট বৈশিষ্ট্য দেখতে:

ক্লিক করুন 'S3 URI কপি করুন' বোতাম এটি Lambda ফাংশনে যোগ করা হবে:

যান ল্যাম্বডা ড্যাশবোর্ড এবং Lambda ফাংশন নির্বাচন করুন:

নিচে স্ক্রোল করুন 'কোড' বিভাগ এবং আলতো চাপুন 'থেকে আপলোড করুন' বোতাম থেকে ড্রপ-ডাউন মেনু, ক্লিক করুন 'Amazon S3 অবস্থান' বিকল্প:

পেস্ট করুন 'S3 URI' প্রদর্শিত ডায়ালগ বক্সে এবং ক্লিক করুন 'সংরক্ষণ' বোতাম:

উপরে ল্যাম্বডা ফাংশন ইন্টারফেস , নিচে স্ক্রোল করুন 'রানটাইম সেটিংস' এবং ক্লিক করুন 'সম্পাদনা করুন' বোতাম:

মধ্যে 'হ্যান্ডলার' ক্ষেত্র, নিম্নলিখিত কনফিগারেশন সম্পাদনা করুন। দ্য 'নোডিয়াপি' S3 বালতিতে আপলোড করা ফোল্ডারের নাম এবং index.js হল এন্ট্রি পয়েন্ট। এর পর ক্লিক করুন 'সংরক্ষণ' বোতাম:

ধাপ 4: যাচাইকরণ

যান API গেটওয়ে পরিষেবা কনসোল এবং ক্লিক করুন 'API' নাম:

API নির্বাচন করার পরে, ক্লিক করুন 'পর্যায়' সাইডবার থেকে বোতাম এবং তারপর স্থাপনার পর্যায়ে ক্লিক করুন যেমন, প্রথম পর্যায়ে:

কপি করুন URL এবং চালু করুন পোস্টম্যান স্থানীয় মেশিনে টুল:

একটা তৈরি কর অনুরোধ পান মধ্যে পোস্টম্যান এবং এতে URL পেস্ট করুন। ক্লিক করার পর 'পাঠান' বোতাম, আমরা নিম্নলিখিত ফলাফল প্রাপ্ত:

যে এই গাইড থেকে সব.

উপসংহার

API গেটওয়ের সাথে Node.js API স্থাপন করতে, S3 বালতিতে কোড আপলোড করুন, এটিকে হ্যান্ডলার হিসেবে যোগ করুন এবং এপিআই গেটওয়ে ল্যাম্বডা ফাংশনে ট্রিগার হিসেবে যোগ করুন। পোস্টম্যান ব্যবহার করে শুরু করা অনুরোধ API এর মাধ্যমে ল্যাম্বডা ফাংশনে বিতরণ করা হবে। API তৈরি করার জন্য, AWS এর API গেটওয়ে পরিষেবা ব্যবহার করুন। Lambda ফাংশনে হ্যান্ডলার হিসাবে যোগ করা S3 বালতি অনুরোধের প্রক্রিয়াকরণের জন্য কোড প্রদান করবে। পোস্টম্যানের কনসোলে আউটপুট দেখানো হবে। এই নিবন্ধটি AWS API গেটওয়ে সহ Node.js API বাস্তবায়নের জন্য একটি ধাপে ধাপে টিউটোরিয়াল।