AWS Lamdaって?

サーバサイドが必要ない、主にバッチ処理はこれが選定されることが多い。とは言えなんなのかこれ以上知らないので、概要を抑える。

AWS Lambda を使用することで、サーバーのプロビジョニングや管理をすることなく、コードを実行できます。課金は実際に使用したコンピューティング時間に対してのみ発生し、コードが実行されていないときには料金も発生しません。

だからこうやって見ると、どちらかというとアプリケーションとかをトリガーにして動かすパターンが多いのかな。

How it works

AWSアカウントがあれば使える。あとは下記のようなコードを書いて、一番簡単なのはzip uploadか。

package main

import (  
  "fmt"

  "github.com/aws/aws-lambda-go/lambda"
)

type MyEvent struct {  
  Name string `json:"What is your name?"`
}

type MyResponse struct {  
  Message string `json:"Answer:"`
}

func hello(event MyEvent) (MyResponse, error) {  
  return MyResponse{Message: fmt.Sprintf("Hello %s!!", event.Name)}, nil
}

func main() {  
  lambda.Start(hello)
}