Skip to content

n-yata/example-go-lambda-project-cursor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Go Lambda Project

API Gatewayからのリクエストを受け取るAWS Lambda関数のプロジェクトです。

プロジェクト構造

go-lambda-project/
├── email-handler/      # Emailを処理するLambda関数
│   ├── main.go
│   └── go.mod
├── phone-handler/      # PhoneNumberを処理するLambda関数
│   ├── main.go
│   └── go.mod
└── README.md

Lambda関数一覧

1. email-handler

API Gatewayからのリクエストを受け取り、emailをログ表示してsuccessを返却するLambda関数です。

機能:

  • API Gatewayからのリクエストを受け取る
  • リクエストボディからemailを取得
  • emailをログに出力
  • successレスポンスを返却

リクエスト形式:

{
  "email": "example@example.com"
}

レスポンス形式:

{
  "status": "success",
  "message": "Email received successfully"
}

2. phone-handler

API Gatewayからのリクエストを受け取り、phoneNumberをログ表示してsuccessを返却するLambda関数です。

機能:

  • API Gatewayからのリクエストを受け取る
  • リクエストボディからphoneNumberを取得
  • phoneNumberをログに出力
  • successレスポンスを返却

リクエスト形式:

{
  "phoneNumber": "+81-90-1234-5678"
}

レスポンス形式:

{
  "status": "success",
  "message": "Phone number received successfully"
}

セットアップ

1. 依存関係のインストール

各Lambda関数のディレクトリで実行:

cd email-handler
go mod download

cd ../phone-handler
go mod download

2. ビルド

各Lambda関数を個別にビルドします。

email-handler:

cd email-handler
GOOS=linux GOARCH=amd64 go build -o bootstrap main.go

phone-handler:

cd phone-handler
GOOS=linux GOARCH=amd64 go build -o bootstrap main.go

Windowsの場合:

# email-handler
cd email-handler
$env:GOOS="linux"; $env:GOARCH="amd64"; go build -o bootstrap main.go

# phone-handler
cd phone-handler
$env:GOOS="linux"; $env:GOARCH="amd64"; go build -o bootstrap main.go

3. デプロイ

各Lambda関数を個別にZIP化してデプロイします。

# email-handler
cd email-handler
zip function.zip bootstrap

# phone-handler
cd phone-handler
zip function.zip bootstrap

Lambda設定

各Lambda関数の設定:

  • Runtime: Go 1.x
  • Handler: bootstrap(またはビルドした実行ファイル名)
  • Timeout: 適切な値を設定(デフォルト3秒)

ローカルテスト

SAM CLIやLambda Runtime Interface Emulatorを使用してローカルでテストできます。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages