FastAPI کا استعمال کرتے ہوئے اعلیٰ کارکردگی کے API سروس کی تعمیر کیسے کریں
FastAPI کا استعمال کرتے ہوئے اعلیٰ کارکردگی کے API سروس کی تعمیر کیسے کریں
FastAPI ایک جدید، تیز (موثر) ویب فریم ورک ہے، جو API کی تعمیر کے لیے ڈیزائن کیا گیا ہے۔ یہ Python کی قسم کی نشاندہی پر مبنی ہے، اور غیر ہم وقتی پروگرامنگ کی حمایت کرتا ہے، جس سے ترقی دہندگان کو اعلیٰ کارکردگی، اعلیٰ دستیابی کے ساتھ کم تاخیر والے API سروسز بنانے کی اجازت ملتی ہے۔ اس مضمون میں ہم آپ کو تفصیل سے بتائیں گے کہ FastAPI کا استعمال کرتے ہوئے اعلیٰ کارکردگی کے API سروسز کیسے بنائیں، ہم مرحلہ وار وضاحت کریں گے، تاکہ آپ کو ماحول کی ترتیب سے لے کر تعیناتی کے پورے عمل میں مدد مل سکے۔
پہلا مرحلہ: ماحول کی تیاری
آپ کو یہ یقینی بنانا ہوگا کہ آپ کے ترقیاتی ماحول میں Python 3.6+ نصب ہے۔ اگر یہ ابھی تک نصب نہیں ہے، تو آپ Python کی ویب سائٹ پر جا کر اسے ڈاؤن لوڈ اور نصب کر سکتے ہیں۔
FastAPI اور Uvicorn کی تنصیب
FastAPI خود سروس فراہم نہیں کرتا، بلکہ اسے چلانے کے لیے ایک ASGI سرور کی ضرورت ہوتی ہے۔ یہاں ہم Uvicorn کا استعمال کریں گے، جو ایک اعلیٰ کارکردگی کا ASGI سرور ہے۔ آپ FastAPI اور Uvicorn کو نصب کرنے کے لیے درج ذیل کمانڈ استعمال کر سکتے ہیں:
pip install fastapi uvicorn
دوسرا مرحلہ: بنیادی API کی تعمیر
آئیے ایک سادہ FastAPI ایپ بناتے ہیں۔
ایپ فائل بنائیں
اپنے پروجیکٹ ڈائریکٹری میں، ایک Python فائل بنائیں، جیسے 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 کو جلدی سیکھنے میں مدد فراہم کرے گا، اور آپ کے پروجیکٹ کی ترقی کی کارکردگی کو مؤثر طریقے سے بڑھائے گا!





