ซอร์สโค้ด : https://github.com/fastapi/fastapi-cli
เรียกใช้และจัดการแอป FastAPI จากบรรทัดคำสั่งด้วย FastAPI CLI -
FastAPI CLI คือโปรแกรมบรรทัดคำสั่ง fastapi
ที่คุณสามารถใช้เพื่อให้บริการแอป FastAPI จัดการโปรเจ็กต์ FastAPI และอื่นๆ อีกมากมาย
เมื่อคุณติดตั้ง FastAPI (เช่นด้วย pip install "fastapi[standard]"
) จะมีแพ็คเกจชื่อ fastapi-cli
แพ็คเกจนี้จัดเตรียมคำสั่ง fastapi
ในเทอร์มินัล
หากต้องการรันแอป FastAPI เพื่อการพัฒนา คุณสามารถใช้คำสั่ง fastapi dev
:
$ fastapi dev main.py
INFO Using path main.py
INFO Resolved absolute path /home/user/code/awesomeapp/main.py
INFO Searching for package file structure from directories with __init__.py files
INFO Importing from /home/user/code/awesomeapp
╭─ Python module file ─╮
│ │
│ ? main.py │
│ │
╰──────────────────────╯
INFO Importing module main
INFO Found importable FastAPI app
╭─ Importable FastAPI app ─╮
│ │
│ from main import app │
│ │
╰──────────────────────────╯
INFO Using import string main:app
╭────────── FastAPI CLI - Development mode ───────────╮
│ │
│ Serving at: http://127.0.0.1:8000 │
│ │
│ API docs: http://127.0.0.1:8000/docs │
│ │
│ Running in development mode, for production use: │
│ │
│ fastapi run │
│ │
╰─────────────────────────────────────────────────────╯
INFO: Will watch for changes in these directories: ['/home/user/code/awesomeapp']
INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
INFO: Started reloader process [56345] using WatchFiles
INFO: Started server process [56352]
INFO: Waiting for application startup.
INFO: Application startup complete.
โปรแกรมบรรทัดคำสั่งที่เรียกว่า fastapi
คือ FastAPI CLI
FastAPI CLI นำเส้นทางไปยังโปรแกรม Python ของคุณและตรวจจับตัวแปรโดยอัตโนมัติด้วย FastAPI ( app
ที่มีชื่อทั่วไป ) รวมถึงวิธีนำเข้าตัวแปร จากนั้นจึงให้บริการตัวแปรดังกล่าว
สำหรับการผลิต คุณจะใช้ fastapi run
แทน -
ภายใน FastAPI CLI ใช้ Uvicorn ซึ่งเป็นเซิร์ฟเวอร์ ASGI ประสิทธิภาพสูงที่พร้อมใช้งานจริง -
fastapi dev
เมื่อคุณรัน fastapi dev
มันจะทำงานในโหมดการพัฒนา
ตามค่าเริ่มต้น ระบบจะเปิดใช้งาน การโหลดซ้ำอัตโนมัติ ดังนั้นเซิร์ฟเวอร์จะโหลดซ้ำโดยอัตโนมัติเมื่อคุณทำการเปลี่ยนแปลงรหัสของคุณ นี่เป็นทรัพยากรที่เข้มข้นและอาจมีเสถียรภาพน้อยกว่าหากไม่มี คุณควรใช้เพื่อการพัฒนาเท่านั้น
ตามค่าเริ่มต้น มันจะฟังที่อยู่ IP 127.0.0.1
ซึ่งเป็น IP สำหรับเครื่องของคุณเพื่อสื่อสารกับตัวเองเพียงอย่างเดียว ( localhost
)
fastapi run
เมื่อคุณรัน fastapi run
มันจะทำงานในโหมดการผลิตตามค่าเริ่มต้น
มันจะมี การปิดการใช้งานการโหลดอัตโนมัติ ตามค่าเริ่มต้น
มันจะฟังที่อยู่ IP 0.0.0.0
ซึ่งหมายถึงที่อยู่ IP ทั้งหมดที่มีอยู่ ด้วยวิธีนี้ทุกคนที่สามารถสื่อสารกับเครื่องจะสามารถเข้าถึงได้แบบสาธารณะ นี่คือวิธีที่คุณรันตามปกติในการผลิต เช่น ในคอนเทนเนอร์
ในกรณีส่วนใหญ่ คุณจะ (และควร) มี "พร็อกซีการยกเลิก" ที่จัดการ HTTPS ให้คุณ ซึ่งจะขึ้นอยู่กับวิธีที่คุณปรับใช้แอปพลิเคชันของคุณ ผู้ให้บริการของคุณอาจดำเนินการนี้ให้คุณ หรือคุณอาจต้องตั้งค่าด้วยตนเอง คุณสามารถเรียนรู้เพิ่มเติมได้ในเอกสารการปรับใช้ FastAPI
โครงการนี้ได้รับอนุญาตภายใต้เงื่อนไขของใบอนุญาต MIT