はじめに
AWS LambdaでGoがサポートされたので、早速、試してみました。
この記事では、
- AWS Lambdaの簡単な使い方
- AWS LambdaでGoを動かす方法
を紹介しています。
ザクザク行けば、10分くらいでLambdaの実行までいけると思います
Lambdaを作成する
名前やロールなどを設定し、関数の作成
を選択
ランタイムはGo 1.X
とします
ロールは、使用されるリソースに応じてお好みで。
Lambdaで動かすGoを作る
公式ライブラリを使用する
公式のGoのライブラリをgo get
します。
go get -u github.com/aws/aws-lambda-go/lambda
コードを書く
※公式のサンプルのまま書いています。
main.go
package main
import (
"github.com/aws/aws-lambda-go/lambda"
)
func hello() (string, error) {
return "Hello ƛ!", nil
}
func main() {
// Make the handler available for Remote Procedure Call by AWS Lambda
lambda.Start(hello)
}
ビルドする
ビルドのターゲットは以下を指定
GOOS=linux GOARCH=amd64 go build -o hello
これで、 hello
という名前のバイナリがカレントディレクトリに生成されます。
$ ls
hello main.go
zipに圧縮する
手動アップロードの場合、Lambdaに上げる時はzipで上げなければいけないため、固めます。
$ zip hello.zip hello
adding: hello (deflated 66%)
$ ls
hello hello.zip main.go
アップロード
アップロード
から、先程作成したhello.zip
を選択してアップロードを実行します。
アップロード後は、右上のテストボタンを選択します。
テスト
テストを実行すると…
ちゃんと、 Hello ƛ!
と出力されています
終わりに
読んで下さりありがとうございます。
今回はサンプルだけなので、次回は実際に活用した記事を書く予定です。