Go での AWS Lambda の使用: 完全ガイド

王林
リリース: 2023-06-17 20:00:08
オリジナル
1013 人が閲覧しました

Go での AWS Lambda の使用: 完全ガイド

AWS Lambda は、サーバーのセットアップや管理を気にせずにクラウドでコードを実行できる強力なサーバーレス コンピューティング プラットフォームです。 Go 言語ベースのアプリケーションの場合、AWS Lambda は非常に高い可用性とスケーラビリティを提供するため、多くの Go 開発者が最初に選択します。このガイドでは、Go 言語で AWS Lambda を使用する方法を説明します。

  1. AWS CLI と AWS SDK のセットアップ

始める前に、Lambda と対話するために AWS CLI と AWS SDK をインストールする必要があります。 AWS CLI を使用すると、コマンドライン インターフェイスから AWS のサービスを簡単に呼び出すことができ、AWS SDK を使用すると、さまざまなプログラミング言語を使用してプログラミングできます。 AWS 公式 Web サイトから、プラットフォームに適したインストーラーをダウンロードできます。

  1. S3 バケットの作成または選択

AWS Lambda コードを S3 バケットにアップロードする必要があります。バケットをまだ作成していない場合は、次の手順に従ってバケットを作成できます:

  • AWS コンソールにログインし、S3 サービスを選択します。
  • 「バケットの作成」ボタンをクリックします。
  • 一意のグローバル バケット名を入力し、リージョンを選択します。
  • [バージョン管理を有効にする] オプションをオンにして、Lambda コードが更新されたときにバージョンを管理できるようにします。
  1. Lambda 関数コードの記述

次に、アプリケーションに適した Go 言語の Lambda 関数コードを記述する必要があります。

まず、コードを保存するフォルダーを作成し、その中に main.go という名前のファイルを作成します。次のサンプル コードをファイルに挿入できます。

package main

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

type Request struct {
    Name string `json:"name"`
}

type Response struct {
    Greeting string `json:"greeting"`
}

func HandleRequest(ctx context.Context, request Request) (Response, error) {
    message := fmt.Sprintf("Hello, %s!", request.Name)
    return Response{Greeting: message}, nil
}

func main() {
    lambda.Start(HandleRequest)
}
ログイン後にコピー

上記のコードでは、HandleRequest 関数はリクエストから名前フィールドを抽出してウェルカム メッセージを作成し、それを応答として送信します。また、「go-lambda」コード パッケージ、具体的には「aws/aws-lambda-go/lambda」をインポートしたことにも気づきました。これは、AWS Lambda Go 言語開発者に必要な完全な機能を提供します。

  1. Lambda 関数コードのコンパイル

Go コードを Lambda にデプロイするには、コードをバイナリ ファイルにコンパイルする必要があります。これを行う手順は次のとおりです。

  • コード ディレクトリでターミナルを開き、次のコマンドを実行して実行可能ファイルを作成します:
GOOS=linux GOARCH=amd64 go build -o main main.go
ログイン後にコピー
  • ファイルを S3 バケットにアップロードします:
aws s3 cp main s3://your-bucket-name/
ログイン後にコピー
  1. Lambda 関数の作成

これで、AWS Lambda サービスを使用して新しい Lambda 関数を作成し、コード。

  • AWS コンソールにログインし、Lambda サービスを選択します。
  • 「関数の作成」ボタンをクリックします。
  • [関数基本情報] タブ:

    • [既存のロールを使用する] オプションを選択して既存のロールを選択するか、[新しいロールの作成] をクリックします。そしてプロンプトに従って新しいロールを作成します。このロールは、Lambda 関数が他の AWS のサービスやリソースにアクセスすることを承認するために使用されます。
    • Lambda 関数に一意の名前を付け、適切なランタイムを選択します。ここでは Go 1.x を使用します。
  • [関数コード] タブで:

    • [S3 バケットからファイルをアップロード] オプションを選択し、S3 バケット名とバイナリファイルのパス。
    • 「Handler」フィールドの値をバイナリ ファイル名 (「.go」または「.exe」拡張子は含まない) と関数名に設定します。たとえば、「main.HandleRequest」です。
  • 「詳細設定」では、使用メモリサイズやタイムアウト期間、環境変数などの確認など、Lambda関数の詳細な設定を行うことができます。次に、「関数の作成」ボタンをクリックしてLambda関数を作成します。
  1. Lambda 関数のテスト

AWS コンソールで関数のテスト イベントを作成することで、関数をテストできます。 JSON テスト イベントを作成します。例:

{
   "name": "Bob"
}
ログイン後にコピー

次に、[テスト] ボタンをクリックして関数を実行し、期待した出力が返されるかどうかを確認します。

結論

これで、Go 言語で AWS Lambda を使用する方法を学びました。これは単なる入門書 (AWS Lambda には多くの機能があります) ですが、AWS Lambda を使用して独自のアプリケーションを構築およびデプロイする実験を開始できるように、十分な情報が得られます。幸運を!

以上がGo での AWS Lambda の使用: 完全ガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート