閱讀英文

共用方式為


使用 FastAPI 和 Postgres 建立 GitHub Codespaces 開發環境

本文說明如何在 GitHub Codespaces 環境中一起 執行 FastAPI 和 Postgres 。 Codespaces 是裝載於雲端的開發環境。 Codespaces 可讓您建立可設定且可重複的開發環境。

您可以使用 GitHub Codespaces 擴充功能,在瀏覽器中或整合開發環境中開啟範例存放庫,例如 Visual Studio Code

您也可以在本機複製範例存放庫,並在Visual StudioCode中開啟專案時,使用 開發容器執行。 開發容器需要 Docker Desktop 安裝在本機。 如果您尚未安裝 Docker,您仍然可以使用 VS Code 來執行專案,但您使用的是 GitHub Codespaces 作為環境。

使用 GitHub Codespaces 時,請記住,您每月有固定的核心時數。 本教學課程需要少於一個核心小時才能完成。 如需詳細資訊,請參閱 關於 GitHub Codespaces 的計費。

透過本教學課程中顯示的方法,您可以從範例程式代碼開始,並修改它以執行 Django 或 Flask 等其他 Python 架構。

在 Codespaces 中啟動開發環境

有許多可能的路徑可用來建立及使用 GitHub Codespaces。 本教學課程顯示一個您可以開始使用的路徑。

  1. 移至範例應用程式存放庫 https://github.com/Azure-Samples/msdocs-fastapi-postgres-codespace

    範例存放庫具有使用 Postgres 資料庫建立具有 FastAPI 應用程式的環境所需的所有設定。 您可以遵循為 GitHub Codespaces 設定 Python 專案中的步驟來建立類似的專案。

  2. 選取 [ 程序代碼]、 [Codespaces] 索引卷標,然後 + 建立新的 Codespace。

    Screenshot showing how to create a codespace from the GitHub repo.

  3. 當容器完成建置時,請確認您在瀏覽器左下角看到 Codespaces ,以及該範例存放庫已載入。

    codespace 密鑰組態檔是 devcontainer.jsonDockerfiledocker-compose.yml。 如需詳細資訊,請參閱 GitHub Codespaces 概觀

    提示

    您也可以在 Visual Studio Code 中執行程式代碼空間。 選取瀏覽器左下角的 Codespaces 或 ( + CommandP / + CtrlCtrl + + PShift),然後輸入 “Codespaces”。 然後選取 [ 在 VS Code 中開啟]。 此外,如果您停止程式代碼空間並返回存放庫,並在 GitHub Codespaces 中再次開啟它,您可以選擇在 VS Code 或瀏覽器中開啟它。

  4. 選取 .env.devcontainer 檔案,並使用相同的內容建立名為 .env 的複本。

    .env 包含程式代碼中用來連線至資料庫的環境變數。

  5. 如果終端機視窗尚未開啟,請開啟 [命令選擇區] 來開啟一個視窗,CtrlCommand / CtrlShift + + + PP + 輸入「終端機:建立新終端機」,然後選取它來建立新的終端機。

  6. 選取終端機視窗中的 [ ] 索引標籤,以確認 PostgreSQL 正在埠 5432 上執行。

  7. 在終端機視窗中,執行FastAPI應用程式。

    uvicorn main:app --reload
    
  8. 選取 [在瀏覽器中開啟] 通知

    如果您沒有看到或錯過通知,請移至 [埠 ] 並尋找埠 8000 的 [ 本機位址 ]。 使用該處所列的 URL。

  9. 在預覽 URL 結尾新增 /docs ,以查看 Swagger UI,可讓您測試 API 方法。

    API 方法是從FastAPI從程式代碼建立的OpenAPI介面產生。

    Screenshot showing the FastAPI Swagger UI.

  10. 在 Swagger 頁面上,執行 POST 方法來新增餐廳。

    1. 展開POST方法。

    2. 選取 [試試看]。

    3. 填入要求本文。

      {
        "name": "Restaurant 1",
        "address": "Restaurant 1 address"
      }
      
    4. 選取 [ 執行 ] 以認可變更

連線 至資料庫並檢視數據

  1. 返回專案的 GitHub Codespace,選取 SQLTools 擴充功能,然後選取 [要連線的本機資料庫 ]。

    建立容器時,應該安裝 SQLTools 擴充功能。 如果 SQLTools 擴充功能未出現在活動列中,請關閉程式代碼空間並重新開啟。

  2. 展開 [ 本機資料庫] 節點,直到您找到 餐廳 數據表為止,以滑鼠右鍵按兩下 [ 顯示資料表記錄]。

    您應該會看到您新增的餐館。

    Screenshot showing how touUse SQLTools extension in Visual Studio Code to connect to Postgres local database and show table records.

清理

若要停止使用 codespace,請關閉瀏覽器。 (或者,如果您以這種方式開啟 VS Code,請關閉 VS Code。

如果您打算再次使用 codespace,您可以保留它。 只有執行中的程式代碼空間會產生CPU費用。 已停止的程式代碼空間只會產生記憶體成本。

如果您想要移除程式代碼空間,請移至 以 https://github.com/codespaces 管理您的程式代碼空間。

下一步