Golangでlambdaローカルを動かす際に古い記事しかなかったので、自分用のメモ
前提
- OSは、Mac(Mojave 10.14.3)
- Pythonをインストール済み
- 筆者の環境は、pyenvで3.7.3をインストール済み
- dockerをインストール済み
準備
- aws-sam-cliをインストール
pip install aws-sam-cli
- 初期化する
- 下記のパスは、筆者の環境なので、便宜変えてください
cd $GOPATH/src/github.com
sam init --runtime go
- 依存モジュールを取得
go get github.com/aws/aws-lambda-go/events
go get github.com/aws/aws-lambda-go/lambda
- lambdaイベントの作成
cd sam-app/
# Lambdaに渡す用のイベントファイルの作成
sam local generate-event apigateway aws-proxy > event_file.json
# Lambdaの実行
sam local invoke HelloWorldFunction --event event_file.json
- 動作実行
# APIの起動
sam local start-api
# 呼べるか確認
curl http://127.0.0.1:3000/hello