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:

コメント

タイトルとURLをコピーしました