๐ ๏ธ FastAPI ๐ ๐ช¶
๐ ๐ ๐ ๐ ๐ก โ ๐ช ๐ ๏ธ FastAPI ๐ธ ๐ ๐ช โ๏ธ ๐ ๐. ๐ถ
โซ๏ธ ๐ โ ๐ ๐ 1๏ธโฃ0๏ธโฃ โฒ.
Info
๐ช FastAPI ๐ฐ. ๐ถ
๐ฐ FastAPI ๐ฑ¶
- โ ๐ ๐ ๐ฑ, ๐ผ,
./fastapideta/
& โ ๐ โซ๏ธ.
FastAPI ๐¶
- โ
main.py
๐ โฎ๏ธ:
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def read_root():
return {"Hello": "World"}
@app.get("/items/{item_id}")
def read_item(item_id: int):
return {"item_id": item_id}
๐¶
๐, ๐ ๐ โ ๐ requirements.txt
โฎ๏ธ:
fastapi
Tip
๐ ๐ซ ๐ช โ Uvicorn ๐ ๏ธ ๐ ๐ช, ๐ ๐ ๐ ๐ฒ ๐ โ โซ๏ธ ๐ ๐ฏ ๐ ๐ฑ.
๐ ๐¶
๐ ๐ ๐ โ๏ธ 1๏ธโฃ ๐ ./fastapideta/
โฎ๏ธ 2๏ธโฃ ๐:
.
โโโ main.py
โโโ requirements.txt
โ ๐ ๐ช ๐ง¶
๐ โ ๐ ๐ง ๐ ๐ช, ๐ ๐ช ๐ง & ๐.
๐ ๐ซ ๐ช ๐ณ.
โ โณ¶
๐ ๐ โ๏ธ ๐ ๐ง, โ ๐ช โณ:
$ curl -fsSL https://get.deta.dev/cli.sh | sh
$ iwr https://get.deta.dev/cli.ps1 -useb | iex
โฎ๏ธ โ โซ๏ธ, ๐ ๐ ๐ถ ๐ โ โณ ๐.
๐ ๐ถ, โ ๐ โซ๏ธ โ โ โฎ๏ธ:
$ deta --help
Deta command line interface for managing deta micros.
Complete documentation available at https://docs.deta.sh
Usage:
deta [flags]
deta [command]
Available Commands:
auth Change auth settings for a deta micro
...
Tip
๐ฅ ๐ โ๏ธ โ โ โณ, โ ๐ ๐ช ๐ฉบ.
๐ณ โฎ๏ธ โณ¶
๐ ๐ณ ๐ช โช๏ธโก๏ธ โณ โฎ๏ธ:
$ deta login
Please, log in from the web page. Waiting..
Logged in successfully.
๐ ๐ ๐ ๐ธ ๐ฅ & ๐ ๐.
๐ ๏ธ โฎ๏ธ ๐ช¶
โญ, ๐ ๏ธ ๐ ๐ธ โฎ๏ธ ๐ช โณ:
$ deta new
Successfully created a new micro
// Notice the "endpoint" ๐
{
"name": "fastapideta",
"runtime": "python3.7",
"endpoint": "https://qltnci.deta.dev",
"visor": "enabled",
"http_auth": "enabled"
}
Adding dependencies...
---> 100%
Successfully installed fastapi-0.61.1 pydantic-1.7.2 starlette-0.13.6
๐ ๐ ๐ ๐ป ๐ง ๐:
{
"name": "fastapideta",
"runtime": "python3.7",
"endpoint": "https://qltnci.deta.dev",
"visor": "enabled",
"http_auth": "enabled"
}
Tip
๐ ๐ ๏ธ ๐ โ๏ธ ๐ "endpoint"
๐.
โ โซ๏ธ¶
๐ ๐ ๐ ๐ฅ ๐ endpoint
๐. ๐ผ ๐ โซ๏ธ https://qltnci.deta.dev
, โ๏ธ ๐ ๐ ๐.
๐ ๐ ๐ ๐ป ๐จ โช๏ธโก๏ธ ๐ FastAPI ๐ฑ:
{
"Hello": "World"
}
& ๐ ๐ถ /docs
๐ ๐ ๏ธ, ๐ผ ๐ โซ๏ธ ๐ https://qltnci.deta.dev/docs
.
โซ๏ธ ๐ ๐ฆ ๐ ๐ฉบ ๐:
๐ ๏ธ ๐ข ๐¶
๐ข, ๐ช ๐ ๐ต ๐ค โ๏ธ ๐ช ๐ ๐ง.
โ๏ธ ๐ ๐ ๐, ๐ ๐ช โ โซ๏ธ ๐ข โฎ๏ธ:
$ deta auth disable
Successfully disabled http auth
๐ ๐ ๐ช ๐ฐ ๐ ๐ โฎ๏ธ ๐ & ๐ซ ๐ ๐ช ๐ ๐ ๐ ๏ธ. ๐ถ
๐บ๐ธ๐¶
ใ โ ๐ ๐ ๏ธ ๐ FastAPI ๐ฑ ๐ช โ ๐ถ ๐ถ
, ๐ ๐ ๐ช โ ๐ต ๐บ๐ธ๐ ๐, ๐ ๐ซ โ๏ธ โ ๐ ๐ & ๐ช ๐ญ ๐ ๐ ๐ฉโ๐ป ๐ โ๏ธ ๐ ๐ ๐. ๐ถ ๐ถ
โ ๐ถ¶
โช๏ธโก๏ธ ๐ ๐ฉบ ๐ (๐ซ ๐ ๐ ๐ https://qltnci.deta.dev/docs
) ๐จ ๐จ ๐ โก ๐ ๏ธ /items/{item_id}
.
๐ผ โฎ๏ธ ๐ 5
.
๐ ๐ถ https://web.deta.sh.
๐ ๐ ๐ ๐ค ๐ โ๏ธ ๐ค "โพ" โฎ๏ธ ๐ ๐ ๐ฑ.
๐ ๐ ๐ ๐ โฎ๏ธ "โน", & ๐ "๐ถ", ๐ถ ๐ "๐ถ".
๐ค ๐ ๐ช โ โฎ๏ธ ๐จ ๐จ ๐ ๐ฑ.
๐ ๐ช โ ๐ซ & ๐ค-๐คพ ๐ซ.
๐ก ๐ ¶
โ, ๐ ๐ ๐ฒ ๐ ๐ช ๐ฝ ๐ ๐ฑ ๐ ๐ ๐ฃ ๐ ๐ฐ. ๐ ๐ ๐ช โ๏ธ ๐ช ๐งข, โซ๏ธ โ๏ธ ๐ ๐ ๐.
๐ ๐ช โ ๐ ๐ช ๐ฉบ.
๐ ๏ธ ๐ง¶
๐ ๐ ๐ง ๐ฅ ๐ฌ ๐ ๏ธ ๐ง, ๐ฅ โ ๐ ๐ซ ๐ ๐ต โฎ๏ธ ๐ช:
- ๐บ๐ธ๐: ๐ต ๐ช, ๐ซ ๐ ๐ค ๐ ๐ & ๐ต ๐บ๐ธ๐ ๐.
- ๐โโ ๐ ๐ด: ๐ต ๐ช, ๐ ๐ซ ๐โ๐ฆบ.
- โ: ๐ต ๐ช, ๐ ๐ซ ๐โ๐ฆบ.
- ๐งฌ: ๐ต ๐ช, ๐ ๐ซ ๐โ๐ฆบ.
- ๐พ: ๐ ๐ ๐ช, ๐ ๐ช ๐ง ๐ซ ๐ โซ๏ธ.
- โฎ๏ธ ๐ โญ โถ๏ธ: ๐ซ ๐ ๐โ๐ฆบ, ๐ ๐ช โ โซ๏ธ ๐ท โฎ๏ธ ๐ซ ๐พ โ๏ธ โ๏ธ ๐ โ.
Note
๐ช ๐ง โ โซ๏ธ โฉ (& ๐) ๐ ๏ธ ๐ ๐ธ ๐.
โซ๏ธ ๐ช ๐ ๐ โ๏ธ ๐ผ, โ๏ธ ๐ ๐ฐ, โซ๏ธ ๐ซ ๐โ๐ฆบ ๐, ๐ โ๏ธ ๐ข ๐ฝ (โ๏ธ โช๏ธโก๏ธ ๐ช ๐ โ ๐ฝ โ๏ธ), ๐ ๐น ๐ฐ, โ๏ธ.
๐ ๐ช โ ๐ โน ๐ช ๐ฉบ ๐ ๐ฅ โซ๏ธ โถ๏ธ๏ธ โ ๐.