相关文章推荐
想表白的金鱼  ·  java - ...·  1 年前    · 

本文介绍如何在 GitHub Codespaces 环境中一起运行 FastAPI 和 Postgres。 Codespaces 是托管在云中的开发环境。 Codespaces 使你能够创建可配置且可重复的开发环境。

可以在 浏览器 或集成开发环境中打开示例存储库, (IDE) (如使用 GitHub Codespaces 扩展 Visual Studio Code )。

还可以在本地克隆示例存储库,在 Visual Studio Code 中打开项目时,可以使用 开发容器 运行。 开发容器要求在本地安装 Docker Desktop 。 如果尚未安装 Docker,仍可使用 VS Code 运行项目,但使用的是 GitHub Codespaces 作为环境。

使用 GitHub Codespaces 时,请记住,每月有固定的可用核心小时数。 本教程需要不到一个核心小时才能完成。 有关详细信息,请参阅 关于 GitHub Codespaces 的计费

使用本教程中所示的方法,可以从示例代码开始,并修改它以运行其他 Python 框架,如 Django 或 Flask。

在 Codespaces 中启动开发环境

有许多可能的创建和使用 GitHub Codespaces 的路径。 本教程演示了一个可以从开始的路径。

  • 转到示例应用存储库 https://github.com/Azure-Samples/msdocs-fastapi-postgres-codespace

    示例存储库具有使用 Postgres 数据库创建具有 FastAPI 应用的环境所需的所有配置。 可以按照 为 GitHub Codespaces 设置 Python 项目中 的步骤创建类似的项目。

  • 选择 “代码 ”,选择“ Codespaces ”选项卡,并 + 创建新的 codespace。

  • 容器生成完成后,请确认在浏览器左下角看到 Codespaces ,并且示例存储库已加载。

    codespace 密钥配置文件是 devcontainer.json Dockerfile docker-compose.yml 。 有关详细信息,请参阅 GitHub Codespaces 概述

    还可以在 Visual Studio Code 中运行代码空间。 选择浏览器左下角的 Codespaces 或 ( Ctrl Shift Command + + P P + / Ctrl + ) ,然后键入“Codespaces”。 然后选择“ 在 VS Code 中打开 ”。 此外,如果停止 codespace 并返回到存储库并在 GitHub Codespaces 中再次打开它,则可以选择在 VS Code 或浏览器中打开它。

  • 选择 .env.devcontainer 文件,并创建一个名为 .env 的副本,其中包含相同的内容。

    .env 包含在代码中用于连接到数据库的环境变量。

  • 如果终端窗口尚未打开,请打开一个,方法是打开命令面板 ( Ctrl Shift Command + + P P + / Ctrl + ) ,键入“终端: 创建新终端”,然后选择它以创建新终端。

  • 在终端窗口中选择“ 端口 ”选项卡,确认 PostgreSQL 是否在端口 5432 上运行。

  • 在终端窗口中,运行 FastAPI 应用。

    uvicorn main:app --reload
    
  • 选择“ 在浏览器中打开”通知。

    如果未看到或错过通知,请转到 “端口 ”并查找端口 8000 的 本地地址 。 使用其中列出的 URL。

  • 在预览 URL 的末尾添加 /docs ,以查看 Swagger UI,以便测试 API 方法。

    API 方法从 FastAPI 从代码创建的 OpenAPI 接口生成。

  • 在 Swagger 页面上,运行 POST 方法添加餐馆。

  • 展开 POST 方法。

  • 选择“试用”。

  • 填写请求正文。

    "name": "Restaurant 1", "address": "Restaurant 1 address"
  • 选择“ 执行 ”以提交更改

  • 返回项目的 GitHub Codespace,选择 SQLTools 扩展,然后选择要连接的本地数据库

    创建容器时,应安装 SQLTools 扩展。 如果 SQLTools 扩展未显示在活动栏中,请关闭代码空间并重新打开。

  • 展开“ 本地数据库” 节点,直到找到 “餐馆 ”表,然后右键单击“ 显示表记录”。

    你应该会看到你添加的餐厅。

    若要停止使用 codespace,请关闭浏览器。 (或者,如果以这种方式打开 VS Code,请关闭它。)

    如果计划再次使用 codespace,可以保留它。 只有运行的 codespace 才会产生 CPU 费用。 停止的 codespace 仅产生存储成本。

    如果要删除 codespace,请转到 https://github.com/codespaces 以管理 codespace。

  • 开发 Python Web 应用
  • 开发容器应用
  • 了解如何使用用于 Python 的 Azure 库
  •