Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
7
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

aws-sam-cliを使ってlocalでLambdaを動かしてみる

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

所管

デプロイして確認すると、結構めんどくさいから、ローカルでいろいろと試せるのは便利!

参考

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
7
Help us understand the problem. What are the problem?