BT

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

| 作者: Sergio De Simone フォローする 18 人のフォロワー , 翻訳者 編集部T フォローする 1 人のフォロワー 投稿日 2018年1月29日. 推定読書時間: 3 分 |

原文(投稿日: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
 
 

この記事に星をつける

おすすめ度
スタイル

こんにちは

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

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

あなたの意見をお聞かせください。

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

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

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

このスレッドのメッセージについてEmailでリプライする

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

このスレッドのメッセージについてEmailでリプライする

ディスカッション

特集コンテンツ一覧

C# 8の非同期ストリーム

Bassam Alugili 2018年10月11日 午前3時13分

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT