サーバーレス 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/ に移動します。
プレーヤーを追加してみましょう。
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 エンドポイントです。
- ローカルのテストドライブ中に行ったように、関数 URL を使用してすべてのエンドポイントをテストします。プレーヤーを追加したら、プレーヤー データが存続しているか、それとも消滅したかを確認します。
- すべてが動作していることを確認するには:
- AWS マネジメントコンソール に移動します。
- DynamoDB に移動します
- プレイヤー テーブル を見つけます
テーブル項目の探索
を選択します
?
重要: リソースをクリーンアップすることを忘れないでください。必要がなくなったら、cdk destroy コマンドを実行して、作成されたすべての AWS リソースを削除できます。 <script></script>これで、ローカルの FastAPI 開発から AWS でのサーバーレス展開までの行程が完了しました。<script></script> <script></script> <script></script>以上がサーバーレス FastAPI 開発: AWS でのプレーヤー FC API の構築の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











PythonはゲームとGUI開発に優れています。 1)ゲーム開発は、2Dゲームの作成に適した図面、オーディオ、その他の機能を提供し、Pygameを使用します。 2)GUI開発は、TKINTERまたはPYQTを選択できます。 TKINTERはシンプルで使いやすく、PYQTは豊富な機能を備えており、専門能力開発に適しています。

Pythonは学習と使用が簡単ですが、Cはより強力ですが複雑です。 1。Python構文は簡潔で初心者に適しています。動的なタイピングと自動メモリ管理により、使いやすくなりますが、ランタイムエラーを引き起こす可能性があります。 2.Cは、高性能アプリケーションに適した低レベルの制御と高度な機能を提供しますが、学習しきい値が高く、手動メモリとタイプの安全管理が必要です。

限られた時間でPythonの学習効率を最大化するには、PythonのDateTime、時間、およびスケジュールモジュールを使用できます。 1. DateTimeモジュールは、学習時間を記録および計画するために使用されます。 2。時間モジュールは、勉強と休息の時間を設定するのに役立ちます。 3.スケジュールモジュールは、毎週の学習タスクを自動的に配置します。

Pythonは開発効率でCよりも優れていますが、Cは実行パフォーマンスが高くなっています。 1。Pythonの簡潔な構文とリッチライブラリは、開発効率を向上させます。 2.Cのコンピレーションタイプの特性とハードウェア制御により、実行パフォーマンスが向上します。選択を行うときは、プロジェクトのニーズに基づいて開発速度と実行効率を比較検討する必要があります。

PythonListSarePartOfThestAndardarenot.liestareBuilting-in、versatile、forStoringCollectionsのpythonlistarepart。

Pythonは、自動化、スクリプト、およびタスク管理に優れています。 1)自動化:OSやShutilなどの標準ライブラリを介してファイルバックアップが実現されます。 2)スクリプトの書き込み:Psutilライブラリを使用してシステムリソースを監視します。 3)タスク管理:スケジュールライブラリを使用してタスクをスケジュールします。 Pythonの使いやすさと豊富なライブラリサポートにより、これらの分野で優先ツールになります。

Pythonを1日2時間学ぶだけで十分ですか?それはあなたの目標と学習方法に依存します。 1)明確な学習計画を策定し、2)適切な学習リソースと方法を選択します。3)実践的な実践とレビューとレビューと統合を練習および統合し、統合すると、この期間中にPythonの基本的な知識と高度な機能を徐々に習得できます。

PythonとCにはそれぞれ独自の利点があり、選択はプロジェクトの要件に基づいている必要があります。 1)Pythonは、簡潔な構文と動的タイピングのため、迅速な開発とデータ処理に適しています。 2)Cは、静的なタイピングと手動メモリ管理により、高性能およびシステムプログラミングに適しています。
