🔥
AWS Lambda + Go
Lambda関数をGoで実装し、Httpアクセスする
やること
- Lambdaライブラリの取得
- Lambda関数作成
- Goのビルド
- Lambdaの設定
- テストの実行
Lambdaライブラリの取得
❯ mkdir -p go_lambda
❯ cd go_lambda
❯ go mod init
go: creating new go.mod: module go_lambda
❯ go get -u github.com/aws/aws-lambda-go/lambda
go: added github.com/aws/aws-lambda-go v1.33.0
❯ tree
.
├── go.mod
└── go.sum
Lambda関数作成
❯ cat main.go
package main
import (
"fmt"
"github.com/aws/aws-lambda-go/lambda"
)
type Request struct {
Name string `json:"Name"`
}
type Response struct {
Message string `json:"Message:"`
}
func hello(request Request) (Response, error) {
return Response{Message: fmt.Sprintf("Hello %s.", request.Name)}, nil
}
func main() {
lambda.Start(hello)
}
Goのビルド
❯ GOOS=linux GOARCH=amd64 go build -o hello
~/Work/go_src/go_lambda
❯ zip hello.zip hello
adding: hello (deflated 45%)
Lambdaの設定
テストの実行
Discussion