ホームページ >バックエンド開発 >Python チュートリアル >サーバーレス FastAPI 開発: AWS でのプレーヤー FC API の構築
シンプルで面白くてモダンなものを構築する機会が久しぶりにありました。 2024 年のバックエンドに向けて、私は FastAPI に出会い、興奮しました。以前に仕事で内部 API を構築したことはありましたが、まだ公開するものは何も作成していませんでした。
こんにちは FastAPI!
FastAPI は、Python で API を構築するための最新の強力なフレームワークであり、私が構築したいもの、つまり基本的なサッカー選手情報の API に最適であるように思えました。最初は「Jugador FC」と名付けた後、「Player FC API」に落ち着きました。
始める前に、次の要件を満たしていることを確認してください:
AWS CDK
ドッカー
Python 3.12.7
マシン上にディレクトリを作成します。 player_fc_fastapi_app という名前を付け、このディレクトリ内に次のサブディレクトリを作成します:
アプリ
すべての FastAPI コードが含まれています
dynamo_db_local
Amazon DynamoDB テーブルのローカル バージョンを作成するための Python スクリプトが含まれています
iac
AWS でリソースを作成するためのスタック ファイルが含まれています
時間を節約するために実行できる以下のコマンドを提供することで、作業を簡単にしました。
プロジェクトのディレクトリ構造は次のようになります:
Python環境のセットアップ
Amazon DynamoDB ローカルのセットアップ
がインストールされ、実行されている必要があります。
dynamo_db_local ディレクトリに移動して create_ddb_table.py ファイルを作成し、そのファイルに以下のコードを入力します。 :
このコードを使用すると、ローカルの DynamoDB インスタンスにテーブルを作成できます。コード スニペットを実行します。 FastAPI開発
DynamoDBディレクトリに移動して、main.py と要件の 2 つのファイルを作成します。 txt.
requirements.txt に以下を入力します:
以下のサブディレクトリを作成します:
Pydantic を使用していくつかのモデルを作成しましょう。Player モデルと UpdatePlayer モデルを使用して、追加または変更できるプレーヤー情報のデータ構造を定義します。
models サブディレクトリ内に、空の __init__.py ファイルと player.py という名前のファイルを作成し、以下のコードを入力します。
routers
サブディレクトリ内に、空の __init__.py ファイルと player.py という名前のファイルを作成し、以下のコードを入力します。空の __init__.py ファイルを作成すると、フォルダーが Python パッケージに変わります。
app
試乗 簡単なテストドライブの時間です。app
ディレクトリにいることを確認し、以下のコマンドを実行して
アプリが起動して実行されているので、
http://127.0.0.1:8000/docs/に移動します。
利用可能な 6 つのエンドポイントを含む自動インタラクティブ API ドキュメントが表示されます。プレーヤーを追加してみましょう。
POST /playersボタンを選択し、以下のペイロードを使用して世界最高のプレーヤー「Vinícius Júnior」を追加します。
各 API 操作の実際の動作は次のとおりです。
新しいプレーヤーの追加:
すべてのプレーヤーの取得:
プレイヤー情報の更新:
シングルプレイヤーの詳細の取得:
プレーヤーの削除:
AWS CDK v2 を使用したデプロイ
アプリをローカルで実行してテストすることに慣れてきたので、今度はアプリを AWS にデプロイします。 AWS CDK v2 を使用します。サブディレクトリにある requirements.txt ファイルを変更し、以下の行を追加します。
DynamoDB テーブル、Lambda 関数、Lambda 関数 URL を定義しましょう。現在の iac ディレクトリには、別のサブディレクトリがあり、そこに移動する必要があります (iac
)。 iac_stack.py ファイルを開き、CDK スタックの内容を以下のコードに置き換えます。デプロイを開始する前に、最後のステップが 1 つあります。app/routers ディレクトリの player.py ファイルで、local_development: bool のフラグを
False
cdkdeploy コマンドを使用してアプリをデプロイします。
デプロイが完了すると、ターミナル出力に関数 URL が表示されます。これが AWS 上の API エンドポイントです。
テーブル項目の探索
を選択しますクラウドにプレーヤー データが表示されるはずです:
?
重要: リソースをクリーンアップすることを忘れないでください。必要がなくなったら、cdk destroy コマンドを実行して、作成されたすべての AWS リソースを削除できます。 <script></script>これで、ローカルの FastAPI 開発から AWS でのサーバーレス展開までの行程が完了しました。<script></script> <script></script> <script></script>以上がサーバーレス FastAPI 開発: AWS でのプレーヤー FC API の構築の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。