LoginSignup
1
1

[AWS][Docker]lambdaをローカルでテストする方法

Posted at

ターミナルで以下を実行する

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関数がローカルで実行される際に環境変数が利用できるようになる

参照

sam local start-api

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1