aws-sam-cliをインストールする
Docker for MacとPython 2.7 or 3.6が必要。
Macのデフォルトでは2.7系だったので、一応最新版を入れる
pyenv install 3.6.5
pyenv global 3.6.5
pip install aws-sam-cli
※ドキュメントの方では—user
をつけているが、これをつけると~/.local
フォルダにsamがインストールされてしまうので注意!普段pip関連使わないからハマってしまったー。
sam init
sam init --runtime go
サンプルを作ってくれる
こんな感じのファイルが出来る。goじゃなくても別の言語してして作ってもOK
$ tree
.
└── sam-app
├── Makefile
├── README.md
├── hello-world
│ ├── main.go
│ └── main_test.go
└── template.yaml
2 directories, 5 files
localで動かしてみる
build
go get github.com/aws/aws-lambda-go/events
go get github.com/aws/aws-lambda-go/lambda
make build
localでLambdaを動かす
# Lambdaに渡す用のイベントファイルの作成
sam local generate-event api > event_file.json
# Lambdaの実行
sam local invoke HelloWorldFunction --event event_file.json
localでAPI Gatewayを使って動かす
# 起動
sam local start-api
# 呼ぶ
curl http://127.0.0.1:3000/hello
所管
デプロイして確認すると、結構めんどくさいから、ローカルでいろいろと試せるのは便利!
参考