Part1前に紹介したPythonの軽量APIフレームワークStarletteのGCP(CloudRun)で、開発からリリースまで対応したGitリポジトリを作成しているので、トピックごとに詳細と開発の仕方について紹介しています。Gitクローンしたソースを用意して、Dockerで環境を構築する以下のリポジトリからコードをクローンして、docker-composeでPostgreSQLを起動させます。main.pyでStarletteを起動するAPIのエンドポイントを追加するバックグラウンドタスクを追加するpytestで非同期処理をテストするCI/CDはCloudBuildで利用して、継続的にテスト、CloudRunへデプロイできるようにするCloudRunが起動しているのを確認したら削除する以下のコマンドを実行してDockerコンテナを作ります。初期データも一緒に作成していて、正常に実行できていれば、テーブル作成とレコードが1件追加されている状態になります。'2020-01-01');EOL続けて、仮想環境の作成、ライブラリの追加をpipenvで行います。ライブラリインストール時にコケる原因になるので、一旦削除してから実行してください。OSによってはポートを開く確認ダイアログが出るので許可する実行するとログにPostgreSQLへのコネクションが確立しているか出力されています。起動できない場合はDBへの接続に失敗しているのが原因ですので、最初のDockerコンテナ作成がうまく行っていないと思います。別のサービスがポート5432を使用中かもしれませんね。その場合はポート使っているサービスを落とすか、もしくはソースコード。docker-compose.yamlを編集して5432ポート以外を設定してみるといいでしょう。標準的なWebシステムを作る場合はDjangoがおすすめですが、軽量で非同期なAPIを作りたいこともよくあります。そんな場合に最近よくつかっているのがStarletteというasgiに対応したフレームワークです。Part2前回、起動の確認まで行いましたので、今回はPythonで実装するAPIとバックグラウンドタスクの処理を実装します。開発をスムーズに行うための便利なツールなどを紹介しています。