कैसे 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 बनाता है, जिसमें उत्पाद का नाम, मूल्य और उपलब्धता की स्थिति शामिल है।
नए रूट जोड़ें
इसके बाद, हम Item प्रकार के डेटा को प्राप्त करने के लिए एक नया POST रूट परिभाषित कर सकते हैं:
@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 को जल्दी से समझने में मदद करेगा और आपके प्रोजेक्ट विकास की दक्षता को प्रभावी ढंग से बढ़ाएगा!





