ターミナルで以下を実行する
sam build -m requirements.txt -t template.local.yaml
sam local start-api --docker-network docker.internal --env-vars .env.local.json
sam build -m requirements.txt -t template.local.yaml
- sam build: SAM アプリケーションの依存関係をビルドし、デプロイ可能な形式にパッケージ化。
- -m requirements.txt: Python の場合、requirements.txt ファイルにリストされている依存関係を使用してビルド。
- -t tempate.local.yaml: このオプションは、特定のSAMテンプレートを指定します。今回 template.local.yaml という名前のテンプレートを指定。
sam local start-api --docker-network docker.internal --env-vars .env.local.json
- sam local start-apiは ローカル環境で API Gateway を模倣して、サーバレスアプリケーションのエンドポイントをローカルでテストするためのコマンド。
- --docker-network docker.internalは Lambda Dockerコンテナが接続する既存の Dockerネットワークの名前またはIDを指定する。これが指定されていない場合、Lambda コンテナはデフォルトのブリッジ Docker ネットワークにのみ接続される。今回だとdocker.internalでドメインを指定している。
- --env-vars .env.local.jsonは環境変数を JSON 形式で指定することで、Lambda関数がローカルで実行される際に環境変数が利用できるようになる