0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

FastAPIデプロイ記録

Posted at

FastAPI使いてぇ~

そう思ったことありますよね...
ということで現在作成しているゲームのバックエンドとしてFastAPIを使用しました

GitHubリポジトリ

初めてのFastAPIということでなにもわからん!!

とりまチュートリアル

ファイル構成はチャットGPTに聞いたやつなのでベストプラクティスなのかはわからないです
reactとかみたいにテンプレを一気に作ってくれるやつあったら楽なんだけど...

ファイル構成

├─.github (デプロイ時に自動作成)
│  └─workflows
├─api-factory (venvで作成した仮想環境)
├─app (動作を書く部分)
│  ├─crud
│  ├─models
│  ├─routers
│  │  ├─__init__.py
│  │  ├─firstapi.py (分けて書いた処理部分)
│  │  └─__pycache__
│  ├─schemas
│  ├─__init__.py
│  ├─config.py
│  ├─database.py
│  └─main.py (お作法的なやつとルーターを追加する)
├─.gitignore
├─README.md
├─requirements.txt
└─startup.sh 

基本的に公式の記事を参考にしてデプロイ進めました

警告
Azure App Serviceの課金に注意してください。
使わない場合は削除する・落とすなどして対処してください

デプロイ先

https://apifactory-api-g6b6gqh0gfe3apdm.japaneast-01.azurewebsites.net/
今は落としてます

詰まったところ

スタートアップコマンド

自分のファイル構成の場合スタートアップに変更が必要でした

公式

gunicorn -w 2 -k uvicorn.workers.UvicornWorker -b 0.0.0.0:8000 main:app

今回の構成の場合

gunicorn -w 2 -k uvicorn.workers.UvicornWorker -b 0.0.0.0:8000 app.main:app

モジュール化やらしてるせいでスタートアップコマンドに修正が必要でした

環境変数

今回はスタートアップコマンドの件に気づくまで環境変数がおかしいのかと思い弄ってました

最終的な環境変数

image.png

あとがき

公式のGitHubのプロジェクトにもあったけどstartup.shってどんな役割してるんやろうか
スタートアップコマンドで参照している感じではなさそうだし

この記事ではスタートアップコマンドに直接startup.shでやってるからそんな感じで使うんかなと

最後に...

まだFastAPIちょろっとしか触ってないけどresponse見られたり実行速度早いらしかったりで便利そうな印象

このままフロントがんばるんば

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?