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
}
測試
在AWS console,前往該Lambda function的[Test]頁籤下的[Test event]的[Event JSON]編輯要輸入的參數,內容如下。此即為Go程式中HandleRequest
函式參數Event
接收的內容。
Event JSON
{
"id": "12345"
}
測試結果如下
沒有留言:
張貼留言