Koji je najjeftiniji način za FastAPI aplikaciju s PostgreSQL-om?
Kratki odgovor: besplatno, na Uppcoderovom besplatnom planu. Pokreće jednu FastAPI aplikaciju s jednom PostgreSQL bazom na vlastitoj HTTPS adresi, bez kartice i bez vremenskog ograničenja. Naša je radila nakon 39 sekundi, s instaliranim driverom za bazu i spojnim nizom u okruženju. Kad projekt naraste, plaćeni planovi počinju od 5 € mjesečno.
Što dobivate besplatno
- Jedna aplikacija s jednom bazom: 2 GB memorije i 2 GB diska
- Bez kartice i bez vremenskog ograničenja; ako se besplatni plan ikad promijeni ili ukine, svi koji ga koriste saznat će to e-poštom najmanje 60 dana ranije
- Vlastita HTTPS adresa, s FastAPI-jevom interaktivnom stranicom API-ja na
/docs - VS Code u pregledniku i terminal pokraj aplikacije, ili SSH iz vašeg uređivača
- Svake noći kopija na zasebnom poslužitelju: kopija od svakog od posljednjih sedam dana i po jedna od svakog od posljednja četiri tjedna
- Javna stranica statusa za poslužitelje na kojima aplikacije rade
Baza je već spojena
Aplikacija dobiva cijelu vezu kao DATABASE_URL, a dijelove kao POSTGRES_HOST, POSTGRES_PORT, POSTGRES_DB, POSTGRES_USER i POSTGRES_PASSWORD, pa nijedna lozinka nije u kodu. PostgreSQL driver (psycopg) instalira se pri pokretanju aplikacije. Čitanje iz PostgreSQL-a je nekoliko redaka (vodič ima cijeli primjer, koji smo pokrenuli na novoj aplikaciji):
import os
import psycopg
from fastapi import FastAPI
app = FastAPI()
@app.get("/notes")
def notes(): # čita tablicu notes koju stvara primjer iz vodiča
with psycopg.connect(os.environ["DATABASE_URL"]) as conn:
return conn.execute("select id, text from notes order by id").fetchall()
Kako to radi
- Registrirajte se na portal.uppcoder.com i potvrdite e-poštu; zatim Billing, Spark, Start free.
- Napravite stack: odaberite FastAPI, dodajte PostgreSQL i zadajte korisničko ime i lozinku. Baza se automatski spaja s aplikacijom.
- Deploy. Početna aplikacija odgovara na vlastitoj adresi, a
/docsprikazuje API. - Otvorite
main.pyu VS Codeu i napišite svoj API; radi na istoj adresi.
Cijeli vodič, s malim API-jem za bilješke koji sam stvara tablicu (na engleskom): Deploy a FastAPI app with PostgreSQL, free. Za početak od repozitorija uzmite fastapi-postgresql-starter na GitHubu i zalijepite njegovu adresu na FastAPI karticu.
Česta pitanja
Zašto ne jeftini VPS? VPS je jeftin dok ne uračunate vrijeme: instalacija PostgreSQL-a, reverse proxy, certifikati, ažuriranja i sigurnosne kopije. Ovdje je to riješeno, a besplatni plan ne košta ništa.
Mogu li koristiti vlastitu domenu? Vlastita domena dolazi sa svakim plaćenim planom, od 5 € mjesečno. Na besplatnom planu aplikacija ima vlastitu HTTPS adresu.
Gdje radi? Na našoj vlastitoj infrastrukturi, koja se može ograničiti na regiju po vašem izboru, npr. Europu ili SAD.
Je li to alternativa Renderu, Railwayu ili Herokuu? Za malu FastAPI aplikaciju s bazom, da: aplikacija, baza i uređivač na jednom mjestu, s besplatnim planom koji ne istječe.
Povezano: Django aplikacija s PostgreSQL-om, besplatno · Uppcoder: gradite, pokrećite i podučavajte u oblaku