কিভাবে FastAPI ব্যবহার করে উচ্চ কার্যকারিতা API পরিষেবা তৈরি করবেন
কিভাবে FastAPI ব্যবহার করে উচ্চ কার্যকারিতা API পরিষেবা তৈরি করবেন
FastAPI হল একটি আধুনিক, দ্রুত (কার্যকর) ওয়েব ফ্রেমওয়ার্ক, যা API তৈরি করার জন্য ডিজাইন করা হয়েছে। এটি পাইথন টাইপ হিন্টিং-এর উপর ভিত্তি করে এবং অ্যাসিঙ্ক্রোনাস প্রোগ্রামিং সমর্থন করে, যা ডেভেলপারদের উচ্চ কার্যকারিতা, উচ্চ উপলব্ধতা এবং কম লেটেন্সি সহ API পরিষেবা তৈরি করতে দেয়। এই নিবন্ধে আমরা বিস্তারিতভাবে আলোচনা করব কিভাবে FastAPI ব্যবহার করে উচ্চ কার্যকারিতা API পরিষেবা তৈরি করবেন, আমরা ধাপে ধাপে ব্যাখ্যা করব, যাতে আপনি পরিবেশ সেটআপ থেকে ডেপ্লয়মেন্টের পুরো প্রক্রিয়া সম্পন্ন করতে পারেন।
প্রথম ধাপ: পরিবেশ প্রস্তুতি
আপনাকে নিশ্চিত করতে হবে যে আপনার ডেভেলপমেন্ট পরিবেশে Python 3.6+ ইনস্টল করা আছে। যদি এখনও ইনস্টল না করা থাকে, তবে Python অফিসিয়াল ওয়েবসাইট এ গিয়ে ডাউনলোড এবং ইনস্টল করুন।
FastAPI এবং Uvicorn ইনস্টল করা
FastAPI নিজেই পরিষেবা প্রদান করে না, একটি ASGI সার্ভারের প্রয়োজন হয়। এখানে আমরা Uvicorn ব্যবহার করছি, একটি উচ্চ কার্যকারিতা ASGI সার্ভার। FastAPI এবং Uvicorn ইনস্টল করতে নিম্নলিখিত কমান্ড ব্যবহার করতে পারেন:
pip install fastapi uvicorn
দ্বিতীয় ধাপ: মৌলিক API তৈরি করা
চলুন একটি সহজ FastAPI অ্যাপ তৈরি করি।
অ্যাপ ফাইল তৈরি করা
আপনার প্রকল্পের ডিরেক্টরিতে একটি পাইথন ফাইল তৈরি করুন, যেমন main.py, এবং সেখানে নিম্নলিখিত কোড লিখুন:
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def read_root():
return {"message": "Hello, World!"}
উপরের কোডে, আমরা প্রথমে FastAPI আমদানি করেছি এবং একটি app উদাহরণ তৈরি করেছি। তারপর, আমরা একটি GET রুট সংজ্ঞায়িত করেছি, যা মূল পাথ / এ অ্যাক্সেস করার সময় একটি সহজ JSON প্রতিক্রিয়া ফেরত দেয়।
সার্ভার চালু করা
আপনার FastAPI সার্ভার চালু করতে নিম্নলিখিত কমান্ড ব্যবহার করুন:
uvicorn main:app --reload
main: ফাইলের নাম, .py এক্সটেনশন ছাড়া।app: FastAPI উদাহরণ।--reload: ডেভেলপমেন্ট মোডে, ফাইল পরিবর্তন হলে স্বয়ংক্রিয়ভাবে সার্ভার পুনরায় চালু হয়।
তৃতীয় ধাপ: রুট এবং ডেটা মডেল সংজ্ঞায়িত করা
জটিল API তৈরি করতে, আপনাকে Pydantic ব্যবহার করে ডেটা মডেল সংজ্ঞায়িত করতে হবে।
ডেটা মডেল তৈরি করা
main.py এ নিম্নলিখিত বিষয়বস্তু যোগ করুন:
from pydantic import BaseModel
class Item(BaseModel):
name: str
price: float
is_available: bool = True
এই কোডটি Pydantic ব্যবহার করে একটি ডেটা মডেল Item তৈরি করেছে, যা পণ্যের নাম, দাম এবং উপলব্ধতা তিনটি বৈশিষ্ট্য অন্তর্ভুক্ত করে।
নতুন রুট যোগ করা
এরপর, আমরা একটি নতুন POST রুট সংজ্ঞায়িত করতে পারি যা Item টাইপের ডেটা গ্রহণ করে:
@app.post("/items/")
async def create_item(item: Item):
return {"item_name": item.name, "item_price": item.price}
এই রুটে, FastAPI স্বয়ংক্রিয়ভাবে প্রাপ্ত ডেটার যাচাই করবে এবং এটিকে Item মডেলে ম্যাপ করবে।
চতুর্থ ধাপ: স্বয়ংক্রিয় ডকুমেন্টেশন তৈরি করা
FastAPI এর একটি বড় সুবিধা হল এটি স্বয়ংক্রিয়ভাবে API ডকুমেন্টেশন তৈরি করতে পারে। আপনি নিম্নলিখিত ঠিকানায় গিয়ে দেখতে পারেন:
- Swagger UI:
http://127.0.0.1:8000/docs - ReDoc:
http://127.0.0.1:8000/redoc
এই তৈরি করা ডকুমেন্টেশনে, আপনি ইন্টারেক্টিভভাবে API পরীক্ষা করতে পারেন, প্রতিটি রুটের অনুরোধ এবং প্রতিক্রিয়া ফরম্যাট দেখতে পারেন।
পঞ্চম ধাপ: পরিচয় যাচাইকরণ যোগ করা
বাস্তব অ্যাপ্লিকেশনে, পরিচয় যাচাইকরণ একটি গুরুত্বপূর্ণ দিক। চলুন একটি সহজ ভূমিকা ভিত্তিক পরিচয় যাচাইকরণ যোগ করি।
নিরাপত্তা নির্ভরতা যোগ করা
FastAPI এর Depends পদ্ধতি এবং OAuth2PasswordBearer ব্যবহার করে পরিচয় যাচাইকরণ বাস্তবায়ন করুন:
from fastapi import Depends, HTTPException, status
from fastapi.security import OAuth2PasswordBearer
oauth2_scheme = OAuth2PasswordBearer(tokenUrl="token")
async def fake_decode_token(token):
return {"sub": token}
async def get_current_user(token: str = Depends(oauth2_scheme)):
user = fake_decode_token(token)
if user is None:
raise HTTPException(status_code=status.HTTP_401_UNAUTHORIZED, detail="Invalid authentication credentials")
return user
রুট সুরক্ষিত করা
এরপর, আপনি সুরক্ষিত রুটগুলিতে পরিচয় যাচাইকরণ যোগ করতে পারেন:
@app.get("/users/me")
async def read_users_me(current_user: dict = Depends(get_current_user)):
return current_user
ষষ্ঠ ধাপ: FastAPI অ্যাপ ডেপ্লয় করা
যখন আপনি উন্নয়ন শেষ করবেন, তখন আপনি সম্ভবত অ্যাপটি ক্লাউড সার্ভারে ডেপ্লয় করতে চাইবেন। আপনি Docker ব্যবহার করে ডেপ্লয় করার সিদ্ধান্ত নিতে পারেন।
Dockerfile তৈরি করা
প্রকল্পের ডিরেক্টরিতে একটি Dockerfile নামক ফাইল তৈরি করুন, নিম্নলিখিত বিষয়বস্তু লিখুন:
FROM tiangolo/uvicorn-gunicorn-fastapi:python3.8
COPY ./app /app
Docker ইমেজ তৈরি করা
আপনার টার্মিনালে, নিম্নলিখিত কমান্ড ব্যবহার করে Docker ইমেজ তৈরি করুন:
docker build -t myfastapiapp .
Docker কনটেইনার চালানো
আপনার FastAPI অ্যাপ চালান:
docker run -d --name fastapi -p 80:80 myfastapiapp
সারসংক্ষেপ
এই নিবন্ধে, আমরা বিস্তারিতভাবে আলোচনা করেছি কিভাবে FastAPI ব্যবহার করে উচ্চ কার্যকারিতা API পরিষেবা তৈরি করবেন, পরিবেশ প্রস্তুতি থেকে মৌলিক API তৈরি, রুট এবং ডেটা মডেল সংজ্ঞায়িত করা, পরিচয় যাচাইকরণ যোগ করা এবং ডেপ্লয়মেন্টের সম্পূর্ণ প্রক্রিয়া। FastAPI অনেক শক্তিশালী বৈশিষ্ট্য প্রদান করে, যা আধুনিক API তৈরি করা সহজ এবং কার্যকর করে, আপনি অফিসিয়াল ডকুমেন্টেশন মাধ্যমে আরও বৈশিষ্ট্য এবং ফিচারগুলি অন্বেষণ করতে পারেন। আশা করি এই নিবন্ধটি আপনাকে FastAPI দ্রুত শিখতে সাহায্য করবে এবং আপনার প্রকল্পের উন্নয়ন দক্ষতা বাড়াবে!





