🔥

AWS Lambda + Go

2022/07/28に公開

Lambda関数をGoで実装し、Httpアクセスする

やること

  1. Lambdaライブラリの取得
  2. Lambda関数作成
  3. Goのビルド
  4. Lambdaの設定
  5. テストの実行

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の設定


テストの実行


GitHubで編集を提案

Discussion