📑
DockerでローカルのLambda実行環境を用意する。
はじめに
ファイルの中身のみ記載します。
ディレクトリ構造
.
├── docker-compose.yml
├── lambda
├── sample
└── index.js
docker-compose.ymlの内容
version: '3'
services:
addData:
container_name: sample-lambda
image: lambci/lambda:nodejs12.x
volumes:
- ./lambda/sample:/var/task
ports: - 9001:9001
environment:
AWS_DEFAULT_REGION: XXXXXXXX
AWS_ACCOUNT_ID: YYYYYYYY
DOCKER_LAMBDA_WATCH: 1
DOCKER_LAMBDA_STAY_OPEN: 1
command: index.handler
index.jsの内容
const aws = require("aws-sdk");
exports.handler = async (event, context) => {
context.succeed({
statusCode: 200,
body : JSON.stringify('hallo sample!'),
});
};
いざ実行!
dockerの起動
docker-compose up
レスポンス確認
別タブで実行
curl -d '{}' http://localhost:9001/2015-03-31/functions/sample/invocations
レスポンス
{"statusCode":200,"body":"\"hallo sample!\""}
終わりに
デプロイなんかもDocker使ってできるみたいですね。 時間があれば、そちらも記載したいと思います:relaxed:
Discussion