Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье показано, как выполнять FastAPI и Postgres вместе в среде GitHub Codespaces . Codespaces — это облачная среда разработки, которая позволяет создавать настраиваемые и повторяющиеся среды разработки.
Пример репозитория можно открыть в браузере или интегрированной среде разработки (IDE), например Visual Studio Code с расширением GitHub Codespaces.
Кроме того, можно клонировать пример репозитория локально. При открытии проекта в Visual Studio Code можно использовать контейнеры разработки для его запуска с помощью контейнеров разработки. Для контейнеров разработки требуется локально установить Docker Desktop . Если Docker не установлен, можно запустить проект с помощью GitHub Codespaces в качестве среды разработки.
При использовании GitHub Codespaces следует помнить, что у вас есть фиксированное количество основных часов бесплатно в месяц. Для выполнения этого руководства требуется менее одного основного часа. Дополнительные сведения см. в разделе о выставлении счетов для GitHub Codespaces.
Вы также можете использовать эту настройку в качестве отправной точки и изменить пример для запуска других веб-платформ Python, таких как Django или Flask.
Запуск среды разработки в Codespaces
В этом руководстве описано, как создать и работать с GitHub Codespaces.
Перейдите к репозиторию примера приложения https://github.com/Azure-Samples/msdocs-fastapi-postgres-codespace.
В примере репозитория есть все конфигурации, необходимые для создания среды с приложением FastAPI с помощью базы данных Postgres. Вы можете создать аналогичный проект, выполнив действия, описанные в разделе "Настройка проекта Python для GitHub Codespaces".
Выберите вкладку Code,Codespaces и + создайте новое пространство кода.
Когда контейнер завершит сборку, убедитесь, что в левом нижнем углу браузера отображаются пространства кода и просмотрите пример репозитория.
Файлы конфигурации ключа пространства кода : devcontainer.json, Dockerfile и docker-compose.yml. Дополнительные сведения см. в обзоре GitHub Codespaces.
Подсказка
Вы также можете запустить кодовое пространство в Visual Studio Code. Выберите Codespaces в левом нижнем углу браузера или (
Ctrl+Shift+P/Ctrl+Command+P) и введите "Codespaces". Затем выберите "Открыть" в VS Code. Кроме того, если остановить пространство кода и вернуться к репозиторию и снова открыть его в GitHub Codespaces, вы можете открыть его в VS Code или браузере.Выберите файл .env.devcontainer и создайте копию с именем ENV с тем же содержимым.
Env содержит переменные среды, используемые в коде для подключения к базе данных.
Если окно терминала еще не открыто, откройте его, открыв палитру команд (
Ctrl+Shift+P/Ctrl+Command+P), введя "Терминал: создать терминал" и выбрав его для создания нового терминала.Перейдите на вкладку "ПОРТЫ" в окне терминала, чтобы убедиться, что PostgreSQL работает на порту 5432.
В окне терминала запустите приложение FastAPI.
uvicorn main:app --reloadВыберите уведомление "Открыть в браузере".
Если вы не видите или не пропустили уведомление, перейдите к ПОРТАм и найдите локальный адрес для порта 8000. Используйте указанный там URL-адрес.
Добавьте /docs в конец URL-адреса предварительной версии, чтобы просмотреть пользовательский интерфейс Swagger, который позволяет протестировать методы API.
Методы API создаются из интерфейса OpenAPI, который FastAPI создает из кода.
На странице Swagger выполните метод POST, чтобы добавить ресторан.
Расширьте метод POST.
Выберите Попробовать.
Заполните текст запроса.
{ "name": "Restaurant 1", "address": "Restaurant 1 address" }Нажмите кнопку "Выполнить" , чтобы зафиксировать изменение
Подключение к базе данных и просмотр данных
Вернитесь к GitHub Codespace для проекта, выберите расширение SQLTools и выберите локальную базу данных для подключения.
При создании контейнера необходимо установить расширение SQLTools. Если расширение SQLTools не отображается на панели действий, закройте пространство кода и снова откройте его.
Разверните узел локальной базы данных, пока не найдете таблицу ресторанов, выберите правой кнопкой мыши и выберите «Показать записи таблицы».
Вы увидите добавленный ресторан.
Очистка
Чтобы остановить использование пространства кода, закройте браузер. (Или закройте VS Code, если вы открыли его таким образом.)
Если вы планируете использовать пространство кода еще раз, его можно сохранить. При выполнении пространств кода взимается плата за ЦП. Остановленное пространство кода несет только затраты на хранение.
Если вы хотите удалить пространство кода, перейдите на https://github.com/codespaces для управления вашими пространствами кода.