網頁

2023/9/19

Golang 建立AWS Lambda function with input parameter

Go以AWS提供的SDK aws-sdk-go-v2來從AWS S3 Bucket建立可傳入參數的Lambda function。



事前要求

參考「AWS 建立IAM管理使用者及credentials」設定供應用程式存取AWS需要的credentials。

參考「Golang 建立AWS Lambda API client」建立Lambda API client。

參考「AWS Lambda 建立Go Lambda function」。


Lambda function

可輸入參數的Go Lambda function程式內容如下,自訂一個struct Event來接收待會測試時傳入的JSON內容。

main.go

package main

import (
    "context"
    "fmt"

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

func main() {
    lambda.Start(HandleRequest)
}

type Event struct {
    Id string
}

func HandleRequest(ctx context.Context, event Event) (string, error) {
    fmt.Println(event.Id)
    return event.Id, nil
}

github


測試

在AWS console,前往該Lambda function的[Test]頁籤下的[Test event]的[Event JSON]編輯要輸入的參數,內容如下。此即為Go程式中HandleRequest函式參數Event接收的內容。

Event JSON

{
  "id": "12345"
}



測試結果如下




沒有留言:

張貼留言