Imported from ymd65536/AWSAppConfigDemo (
AGENTS.md). Install upstream withnpx skills add ymd65536/AWSAppConfigDemo. Copyright stays with the author.
利用技術
バックエンド
- 言語: Python3.11
- ビルドツール: AWS SAM
- IaC: CloudFormation
- AWS Lambda Exetension: AppConfig Extension, AWS Lambda Web Adapter
- パッケージ管理: uv
- フレームワーク: FastAPI
- API仕様: OpenAPI3.0
AWS CLIの操作
AWS CLIの操作は、AWS CLIのバージョン2を使って行います。基本的にはインストールされているはずですが、最初にインストールされていることを確認してください。なお、CLIのプロファイルはdefaultです。
## 認証
以下のコマンドで認証を行います。--profileオプションでプロファイルを指定することができます。
aws sso login --profile default
リージョン
- AWS CLIのリージョンは、
~/.aws/configに記載されているリージョンが使われます。必要に応じて、--regionオプションでリージョンを指定できます - リソースを作成する際はap-northeast-1(東京リージョン)を使うことを推奨
- なお、東京リージョンが対応していないサービスの場合はオレゴンかバージニア北部を使うことを推奨
ソフトウェアパッケージの取り扱い
方針:パブリックレジストリのパッケージを自分のリポジトリにコミットしない。
- このリポジトリはアプリを更新する際に、Lambdaのコードを更新する必要があります。パブリックレジストリのパッケージをローカルにインストールすることはやめてください。リポジトリにコミットしてしまう危険性があります。
- Lambda の依存関係は、必ずリポジトリ内の requirements.txt もしくは pyproject.toml に宣言してください。デプロイ時の
sam buildで自動的に依存関係を解決・パッケージ化する構成を前提とします。 - 追加した依存は、ローカルのグローバル環境へ個別に
pip installするのではなく、リポジトリに反映して SAM デプロイ時に取り込むようにしてください。
dockerfileの取り扱い
- ホストOSのアーキテクチャを確認してから実行してください
- 確認方法:
uname -m - Mac M1/M2 の場合は、
--platform linux/amd64オプションをつけて実行してください
- 確認方法:
コマンド実行時の注意点
- データ取得系のコマンドは出力サイズが長いとShiftを入力しないと次に進まない場合があります。Shiftを入力すると次に進めます。qで終了できます。
コマンドTips
- pytest -qでテスト経過を省略して表示できます
ハンズオンを書くときの注意点
- 基本的には「です」「ます」調で書くこと