BT

InfoQ ホームページ ニュース AWS LambdaがサーバレスアプリケーションのためにGoをサポート

AWS LambdaがサーバレスアプリケーションのためにGoをサポート

ブックマーク

原文(投稿日:2018/01/21)へのリンク

読者の皆様へ:お客様のご要望に応じて、重要なものを逃すことなく、ノイズを低減できる一連の機能を開発しました。興味のあるトピックを選択して、電子メールとWeb通知を入手してください

AmazonはAWS LambdaにおけるGoのサポートを発表した。AWS上で実行されるサーバレスアプリケーションをGoで開発する方法を切り開いた。

Goは、AmazonがAWS LambdaでNode.js、Python、Java、C#とともにサポートを追加した最新の言語である。

GoコードをAWSデプロイメント用に準備するには、ハンドラ関数内に配置する必要がある。このハンドラ関数は次にlambda.Start()に渡される。lambda.Start()は呼び出された後にリターンされることなく、Invoke要求をハンドラに渡すために内部のLambdaエンドポイントと通信する。ハンドラ関数は、リクエストオブジェクトを含む0~2つの引数をとる必要があり、エラーオブジェクトを含む0~2つの値を返す。例えば、次の通りである。

// main.go
package main

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

func hello(request Request) (string, error) {
    return "Hello!", nil
}

func main() {
    // Make the handler available for Remote Procedure Call by AWS Lambda
    lambda.Start(hello)
}

AWSでは、Linux用のAWS Lambdaで使用されるGoコードをコンパイルし、AWS Lambdaのデプロイメントの準備を整えるためにそれをzip圧縮する必要がある。これは、例えば次のように実行される。

GOOS=linux go build -o main main.go
zip main.zip main

zipファイルに使用される名前は、デプロイされたLambda関数のHandler設定プロパティと一致しなければならない。

コードがzipファイルとしてパッケージ化されると、AWS CLIを使用してコードをデプロイできる。

$ aws lambda create-function \
--region us-west-1 \
--function-name HelloFunction \
--zip-file fileb://./main.zip \
--runtime go1.x \
--tracing-config Mode=Active
--role arn:aws:iam::<account-id>:role/<role> \
--handler main

さらに、AWSはAWS X-Ray for Goライブラリを提供している。これによって、X-Rayデーモン用にトレースデータを生成でき、開発したGo関数を解析およびデバッグできる。

開発者がGoを使用してAWS Lambda関数を開発しやすくするために、Amazonはライブラリ、サンプル、ツールを含むGitHubリポジトリを公開している。テスト、構築、AWS LambdaへのGoコードのデプロイの詳細はこちら

 
 

Rate this Article

Adoption Stage
Style
 
 

この記事に星をつける

おすすめ度
スタイル

特集コンテンツ一覧

.NET CLIクイックツアー

Jeremy Miller 2019年2月18日 午前1時55分

.NET CoreとDevOps

Dave Swersky 2019年2月6日 午後11時46分

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

BT

あなたのプロファイルは最新ですか?プロフィールを確認してアップデートしてください。

Eメールを変更すると確認のメールが配信されます。

会社名:
役職:
組織規模:
国:
都道府県:
新しいメールアドレスに確認用のメールを送信します。このポップアップ画面は自動的に閉じられます。