跳转至

在 Deta 上部署 FastAPI

本节介绍如何使用 Deta 免费方案部署 FastAPI 应用。🎁

部署操作需要大约 10 分钟。

说明

DetaFastAPI 的赞助商。 🎉

基础 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

提示

在 Deta 上部署时无需安装 Uvicorn,虽然在本地测试应用时需要安装。

文件夹架构

./fastapideta/ 文件夹中现在有两个文件:

.
└── main.py
└── requirements.txt

创建免费 Deta 账号

创建免费的 Deta 账号,只需要电子邮件和密码。

甚至不需要信用卡。

安装 CLI

创建账号后,安装 Deta CLI

$ curl -fsSL https://get.deta.dev/cli.sh | sh
$ iwr https://get.deta.dev/cli.ps1 -useb | iex

安装完 CLI 后,打开新的 Terminal,就能检测到刚安装的 CLI。

在新的 Terminal 里,用以下命令确认 CLI 是否正确安装:

$ 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

...

提示

安装 CLI 遇到问题时,请参阅 Deta 官档

使用 CLI 登录

现在,使用 CLI 登录 Deta:

$ deta login

Please, log in from the web page. Waiting..
Logged in successfully.

这个命令会打开浏览器并自动验证身份。

使用 Deta 部署

接下来,使用 Deta CLI 部署应用:

$ 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

您会看到如下 JSON 信息:

{
        "name": "fastapideta",
        "runtime": "python3.7",
        "endpoint": "https://qltnci.deta.dev",
        "visor": "enabled",
        "http_auth": "enabled"
}

提示

您部署时的 "endpoint" URL 可能会有所不同。

查看效果

打开浏览器,跳转到 endpoint URL。本例中是 https://qltnci.deta.dev,但您的链接可能与此不同。

FastAPI 应用会返回如下 JSON 响应:

{
    "Hello": "World"
}

接下来,跳转到 API 文档 /docs,本例中是 https://qltnci.deta.dev/docs

文档显示如下:

启用公开访问

默认情况下,Deta 使用您的账号 Cookies 处理身份验证。

应用一切就绪之后,使用如下命令让公众也能看到您的应用:

$ deta auth disable

Successfully disabled http auth

把 URL 分享给大家,就能访问您的 API 了。🚀

HTTPS

恭喜!您已经在 Deta 上部署了 FastAPI 应用!🎉 🍰

还要注意,Deta 能够正确处理 HTTPS,因此您不必操心 HTTPS,您的客户端肯定能有安全加密的连接。 ✅ 🔒

查看 Visor

从 API 文档(URL 是 https://gltnci.deta.dev/docs)发送请求至路径操作 /items/{item_id}

例如,ID 5

现在跳转至 https://web.deta.sh。

左边栏有个 "Micros" 标签,里面是所有的应用。

还有一个 DetailsVisor 标签,跳转到 Visor 标签。

在这里查看最近发送给应用的请求。

您可以编辑或重新使用这些请求。

更多内容

如果要持久化保存应用数据,可以使用提供了免费方案Deta Base

详见 Deta 官档