【fastapi】herokuでfastapi+postgresのapi serverをデプロイする

ローカル環境以外で無料でweb api を叩きたかったので
heroku を利用して、どこからでもapiを叩ける環境を準備した時の手順を残しておく。

環境

macOS Monterey 12.4
python3.8.9
heroku アカウント作成済み

記事参考にした場合の最終的なディレクトリ構成は以下のようになります。

├── Procfile
├── crud.py
├── database.py
├── main.py
├── models.py
├── requirements.txt
├── runtime.txt
├── schemas.py
容量抑えるためにpython仮想環境を利用推奨

ファイル

requirement.txt

runtime.txt(herokuデプロイ環境で動作させるpythonのversion)

main.py

database.py

models.py

schemas.py

crud.py

 動作確認

実行後 http://localhost:8000/docs#/ に接続できたらlocalでの実装は問題ない!

heroku deploy

Procfileの作成 下記のように記述する

 

herokuでプロジェクトを作成するための実行コマンド

heroku 側でアプリが作られているためpostgresのadd-ons
を追加する

Resources>>検索からHerokuPostgres>>Submit over form

追加後 Heroku Postgres からリンク先に移動

Settings>>Database Credentials >>URI

これをdatabase.pyのSQLALCHEMY_DATABASE_URL
の値に変える

 

deploy実行

コミットできたら

https://<YOUR_HEROKU_APP_NAME>.herokuapp.com/docsで確認してみましょう。

無事疎通が確認できたら

でログを確認できると思います。

最後に

無料である程度使えるのでheroku最高!

 

 

 

Follow me!

コメント

PAGE TOP
タイトルとURLをコピーしました