初めに
簡単なAPIをPythonのFastAPIを使用して作っていきます!
デプロイするところまでをハンズオン形式で進めていきます!
セットアップ
私の環境はmacなのでmacで説明します!
pythonをまだインストールしていない人はbrew経由でインストールします
brew install python
任意のディレクトリに移動し、今回作成するディレクトリを作成します
cd dev
mkdir fastapi_pj
cd fastapi_pj
pythonの仮想環境にvenvを用います
python3 -m venv env_api # env_api は任意名
fast_apiディレクトリを作成します
mkdir fast_api
cd fast_api
fast_apiに仮想環境を適応させます。
source ../env_api/bin/activate
必要なライブラリをインストールします。
pip3 install uvicorn
pip3 install fastapi
pip3 install gunicorn
pip freeze -> requirements.txt
fastapi
ここまで来たら、fast_apiをエディタで開き、main.pyをディレクトリ内に作成します
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def hello_word():
return {"Hello":"World!"}
ターミナルで以下のコマンドを実行します
uvicorn main:app --reload
>
INFO: Will watch for changes in these directories: ['']
INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
INFO: Started reloader process [14446] using StatReload
INFO: Started server process [14448]
INFO: Waiting for application startup.
INFO: Application startup complete.
ブラウザでhttp://127.0.0.1:8000
を入力すると
と表示されます.
ここまで来たら一度githubにpush挙げましょう。
デプロイ
デプロイ環境を設定します
render.comを使用してみます。
render.comでGET STARTED FOR FREEでGitHub認証で新規登録します。
RenderのDashboardからNew Web Serviceをクリックします
DeployしたいRepositoryのConnectボタンをクリックします
任意のService nameの入力 + Regionの選択 + Start commandの入力します
↓ Start command
gunicorn -w 4 -k uvicorn.workers.UvicornWorker main:app
Create Web Service ボタンでDeploy開始します
終わりに
これで終了です!できたurlから各自動作を試してみてください!
今回は簡単なAPIでしたが、ぜひ皆さんでもっと複雑なAPIを作ってみてください!