Functionを作る
handler.go
package main
import (
"context"
"fmt"
"github.com/aws/aws-lambda-go/lambda"
)
type MyEvent struct {
Name string `json:"name"`
}
func tes(ctx context.Context, name MyEvent) (string, error) {
return fmt.Sprintf("Hello %s!", name.Name), nil
}
func main() {
lambda.Start(tes)
}
Zipを作る
- LambdaでGoを扱う場合、go buildしたバイナリファイルをzipにしてLambdaFunctionへアップロードする必要がある
go mod init go-lambda
go get github.com/aws/aws-lambda-go/lambda
go mod tidy
GOOS=linux go build -o handler handler.go
zip function.zip handler
Lambda設定
zipファイルをアップロードし、ハンドラーをhandler
にする。
Lambda設定のハンドラーはZipにした際のバイナリファイル名になるので注意
テスト
テストするといけるはず。
今回のコードではインプとされるJSONデータはなんでもよいので何も考えずにテストボタンを押せば良い
参考