AWS SAMによるテンプレートプロジェクト作成~ローカルでの実行
AWS SAMを使い、テンプレートのプロジェクトを作成してローカルで実行するまでの
流れについて纏めてみました。
既に色々なサイトで書かれてはいますが、今後の自分のために書いておきます。
前提として
となります。
プロジェクト作成
$ sam init --runtime go1.x --name your-project-name
プロジェクトが作成されるので、以下のようにMakefileを編集しました。
.PHONY: deps clean build all: deps clean build deps: go get -u github.com/aws/aws-lambda-go/events go get -u github.com/aws/aws-lambda-go/lambda clean: rm -rf ./hello-world/hello-world build: GOOS=linux GOARCH=amd64 go build -o hello-world/hello-world ./hello-world
ローカルでの実行
AWS SAMのインストールでも必要ですが、実行にはDockerが必要となります。
なのでDockerの起動もコマンドに含んでいます。
$ make $ sam local generate-event apigateway aws-proxy > event.json # API Gatewayのイベントを記述したjsonを作成 $ sudo service docker start # docker起動 $ sudo service docker status # docker起動確認 $ sam local invoke HelloWorldFunction --event event.json
テスト
テストのテンプレートとして作成されるので、その実行コマンドになります。
$ go test -v ./hello-world/