Архив рубрики ~Лента новостей~

Как развернуть свое первое приложение в FastAPI Cloud

Как развернуть свое первое приложение в FastAPI Cloud

Узнайте, как создавать, тестировать, развертывать и отслеживать свое первое приложение FastAPI Cloud — простую панель мониторинга в режиме реального времени, включающую статусы Gold и Silver.

Как развернуть свое первое приложение в FastAPI Cloud

# Введение

FastAPI значительно развился из простой библиотеки Python для обслуживания API. Он превратился в более широкую экосистему, на которую полагаются многие разработчики при создании современных веб-приложений, особенно для проектов в области искусственного интеллекта и машинного обучения. Одна из причин популярности FastAPI — его скорость, простота и удобный для разработчиков дизайн.

Обзор облачной платформы FastAPI
Изображение из FastAPI Cloud

Теперь, с FastAPI Cloud , процесс развертывания также значительно упрощается. Вместо того чтобы тратить время на настройку серверов и конвейеров развертывания, вы можете развернуть приложение за считанные секунды, используя интерфейс командной строки (CLI) FastAPI Cloud. Настройка кажется простой, легкой и гораздо ближе к тому удобству, которого разработчики ожидают от современных управляемых платформ.

На момент написания этой статьи доступ всё ещё предоставляется через список ожидания. Я подал заявку пару месяцев назад и недавно получил доступ, поэтому решил составить простое руководство, основанное на моём опыте. В этом руководстве я расскажу о базовом процессе настройки и покажу, как развернуть небольшое приложение FastAPI всего за несколько шагов.

# Создание проекта

В этом уроке вы создадите простую панель мониторинга цен на металлы в режиме реального времени с использованием FastAPI. Приложение будет получать цены на золото и серебро из API, возвращать данные в формате JSON и отображать значения в браузере с помощью небольшого HTML-интерфейса.

Прежде чем начать, убедитесь, что у вас есть:

  • Для создания структуры проекта необходимо установить UV- развертку или последнюю поддерживаемую версию Python.
  • Учетная запись FastAPI Cloud.

Для начала создайте новый проект FastAPI с помощью официальной команды настройки:

uvx fastapi-new metals-live cd metals-live

FastAPI сгенерирует структуру проекта и установит необходимые зависимости за вас в течение нескольких секунд.

Структура проекта FastAPI после создания каркаса
Изображение предоставлено автором.

Далее активируйте виртуальное окружение в каталоге проекта.

В Linux/macOS:

источник .venv/bin/activate

В Windows PowerShell:

.venvScriptsActivate.ps1

# Добавление httpx

Далее установите необходимые для приложения пакеты. Мы будем использовать httpx для получения актуальных цен на золото и серебро из API, а также убедимся, что установлены стандартные дополнительные компоненты FastAPI, чтобы приложение работало и развертывалось без проблем и без отсутствующих зависимостей.

uv add httpx «fastapi[standard]»

Эта команда добавляет httpx для выполнения исходящих API-запросов и устанавливает стандартные зависимости FastAPI, обычно необходимые для разработки и развертывания.

# Замена приложения по умолчанию

Теперь пришло время заменить стандартное приложение FastAPI на ту версию, которую вы действительно будете развертывать.

Вот как выглядит структура проекта по умолчанию:

Стандартная структура проекта FastAPI
Изображение предоставлено автором.

Откройте файл main.py и замените его содержимое пользовательским кодом, показанным ниже. Эта версия делает две вещи: она получает актуальные цены на золото и серебро из Gold API и предоставляет простую панель управления для браузера, которая автоматически обновляется каждые 15 секунд.

Вставьте это в файл main.py:

import httpx from fastapi import FastAPI, HTTPException from fastapi.responses import HTMLResponse app = FastAPI(title=»Live Gold & Silver Prices») GOLD_API_BASE = «https://api.gold-api.com» async def fetch_price(symbol: str): url = f»{GOLD_API_BASE}/price/{symbol}» async with httpx.AsyncClient(timeout=10.0) as client: response = await client.get(url) if response.status_code != 200: raise HTTPException(status_code=502, detail=f»Failed to fetch {symbol} price») data = response.json() return { «symbol»: data.get(«symbol», symbol), «name»: data.get(«name», symbol), «price»: data.get(«price»), «currency»: data.get(«currency», «USD»), «updatedAt»: data.get(«updatedAt») or data.get(«timestamp»), } @app.get(«/api/prices») async def get_prices(): gold = await fetch_price(«XAU») silver = await fetch_price(«XAG») return { «gold»: gold, «silver»: silver, } @app.get(«/», response_class=HTMLResponse) async def home(): return «»»

Цены на золото и серебро в реальном времени

Цены на золото и серебро в реальном времени

Цены автоматически обновляются каждые 15 секунд.

Золото
Загрузка…
Серебро
Загрузка…

«»»

Что делает этот код:

  • Создает приложение FastAPI.
  • Получает актуальные цены на золото и серебро из API.
  • Возвращает данные через /api/prices.
  • Предоставляет простую HTML-панель управления по адресу /.
  • Цены на сайте обновляются каждые 15 секунд.

# Локальное тестирование

Перед развертыванием рекомендуется запустить приложение локально и убедиться, что все работает должным образом. FastAPI упрощает эту задачу благодаря встроенному серверу разработки.

Запустите приложение с помощью:

fastapi dev main.py

После запуска сервера FastAPI сгенерирует локальный URL-адрес для вашего приложения и URL-адрес документации для тестирования конечных точек.

Сервер разработки FastAPI запущен в терминале.
Изображение предоставлено автором.

Откройте браузер и перейдите по адресу:

http://127.0.0.1:8000

На панели мониторинга в режиме реального времени должны отображаться цены на золото и серебро. Значения будут автоматически обновляться каждые 15 секунд.

Актуальная панель цен на металлы: золото и серебро.
Изображение предоставлено автором.

Вы также можете протестировать конечную точку JSON напрямую по адресу:

http://127.0.0.1:8000/api/prices

Это особенно полезно, если вы хотите проанализировать необработанный ответ или впоследствии подключить данные к другому интерфейсу или приложению.

Необработанный JSON-ответ от конечной точки /api/prices
Изображение предоставлено автором.

# Развертывание в FastAPI Cloud

После того как приложение заработает локально, вы готовы развернуть его в FastAPI Cloud. Процесс развертывания очень прост и начинается с одной команды.

Бегать:

fastapi deploy

Интерфейс командной строки поможет вам подключить вашу учетную запись FastAPI Cloud и завершить настройку. В процессе регистрации вам могут задать несколько коротких вопросов, например, о названии вашей команды, названии приложения и параметрах развертывания.

Подсказки при регистрации в FastAPI Cloud CLI
Изображение предоставлено автором.

После этого FastAPI Cloud создаст и развернет ваше приложение.

Разработка и развертывание FastAPI Cloud находятся в процессе.
Изображение предоставлено автором.

После завершения развертывания вы получите действующий публичный URL-адрес вашего приложения — например:

Развертывание FastAPI Cloud завершено, доступен активный URL-адрес.
Изображение предоставлено автором.

https://metals-live.fastapicloud.dev/

FastAPI Cloud также предоставляет интерактивную документацию по API по адресу:

https://metals-live.fastapicloud.dev/docs

Страница документации интерактивного API FastAPI Cloud
Изображение предоставлено автором.

Это удобно, потому что вы можете тестировать свой API прямо из браузера, без необходимости использования каких-либо дополнительных инструментов.

Тестирование конечной точки API через интерфейс документации FastAPI Cloud.
Изображение предоставлено автором.

# Мониторинг приложения

После развертывания вы можете использовать панель управления FastAPI Cloud для мониторинга вашего приложения и проверки его журналов.

Чтобы просмотреть журналы:

  • Откройте панель управления FastAPI Cloud.
  • Перейдите в раздел «Приложения» .
  • Выберите приложение.
  • Открытые журналы .

Это полезно для проверки корректности работы вашего приложения, выявления ошибок API и отладки проблем после развертывания.

Панель мониторинга FastAPI Cloud, отображающая журналы приложений.
Изображение предоставлено автором.

FastAPI Cloud также начинает напоминать такие платформы, как Supabase или Vercel , предлагая управляемый хостинг, быструю развертку через командную строку и дополнительные интеграции, которые можно подключать к вашему приложению по мере его развития.

Панель интеграции панели управления FastAPI Cloud
Изображение предоставлено автором.

# Завершение

FastAPI Cloud упрощает перенос небольшого приложения FastAPI из локальной среды разработки в рабочую среду. В этом руководстве мы создали простую панель мониторинга Metals в режиме реального времени, протестировали её локально, развернули одной командой и проверили журналы после запуска.

Для первого развертывания рабочий процесс прост и является хорошим введением в возможности FastAPI Cloud.

Абид Али Аван (@1abidaliawan) — сертифицированный специалист по анализу данных, увлеченный созданием моделей машинного обучения. В настоящее время он занимается созданием контента и написанием технических блогов о технологиях машинного обучения и анализа данных. Абид имеет степень магистра в области управления технологиями и степень бакалавра в области телекоммуникационной инженерии. Его цель — создать продукт на основе искусственного интеллекта с использованием графовой нейронной сети для студентов, страдающих психическими заболеваниями.

Источник: www.kdnuggets.com

Оцените материал:

Поделиться
Понравилась статья? Расскажите другим
ВКонтакте
Читайте также
Архив рубрики ~Обо всем~ Какие существуют возможности для изготовления столов в условиях самообслуживания? Новости робототехники Производитель гуманоидов Agility Robotics выйдет на рынок в результате слияния со SPAC Новости робототехники Сами читают статьи и ставят видеокарты: Nvidia показала самообучающихся роботов ENPIRE Новости робототехники ExRobotics запускает сертифицированную UL инспекционную роботу для программной среды Новости робототехники Первая роботизированная буровая установка на материковой части России создана на базе российских программных продуктов IR-ПАК и IR-OPERBOT от РИГИНТЕЛ Архив рубрики ~Коротко из Telegram~ Google запускает собственную «мини-Википедию» для блогеров и создателей контента. Компания… Архив рубрики ~Коротко из Telegram~ Водители Tesla научились обманывать камеру слежения в салоне головой пластиковой… Архив рубрики ~Коротко из Telegram~ Главная компания ИИ-гонки не выпускает ни моделей, ни чипов ASML… Архив рубрики ~Коротко из Telegram~ DeepSeek-V4-Flash раздают бесплатно по API DeepSeek-V4-Flash временно открыли для бесплатного… Архив рубрики ~Коротко из Telegram~ ИИ помогает работать — и незаметно отучает работать самому Nature… Архив рубрики ~Коротко из Telegram~ GLM-5.2 залетела в дизайн и документы Новости робототехники В Китае кассиров меняют на гуманоидных роботов — сеть Galbot… Архив рубрики ~Коротко из Telegram~ VK Tech и Yadro подписали меморандум о технологическом партнерстве для… Архив рубрики ~Коротко из Telegram~ Яндекс выложил в открытый доступ формат хранения и передачи данных… Архив рубрики ~Обо всем~ Какие существуют возможности для изготовления столов в условиях самообслуживания? Новости робототехники Производитель гуманоидов Agility Robotics выйдет на рынок в результате слияния со SPAC Новости робототехники Сами читают статьи и ставят видеокарты: Nvidia показала самообучающихся роботов ENPIRE Новости робототехники ExRobotics запускает сертифицированную UL инспекционную роботу для программной среды Новости робототехники Первая роботизированная буровая установка на материковой части России создана на базе российских программных продуктов IR-ПАК и IR-OPERBOT от РИГИНТЕЛ Архив рубрики ~Коротко из Telegram~ Google запускает собственную «мини-Википедию» для блогеров и создателей контента. Компания… Архив рубрики ~Коротко из Telegram~ Водители Tesla научились обманывать камеру слежения в салоне головой пластиковой… Архив рубрики ~Коротко из Telegram~ Главная компания ИИ-гонки не выпускает ни моделей, ни чипов ASML… Архив рубрики ~Коротко из Telegram~ DeepSeek-V4-Flash раздают бесплатно по API DeepSeek-V4-Flash временно открыли для бесплатного… Архив рубрики ~Коротко из Telegram~ ИИ помогает работать — и незаметно отучает работать самому Nature… Архив рубрики ~Коротко из Telegram~ GLM-5.2 залетела в дизайн и документы Новости робототехники В Китае кассиров меняют на гуманоидных роботов — сеть Galbot… Архив рубрики ~Коротко из Telegram~ VK Tech и Yadro подписали меморандум о технологическом партнерстве для… Архив рубрики ~Коротко из Telegram~ Яндекс выложил в открытый доступ формат хранения и передачи данных…

Оставить комментарий