[英]How can I test AWS Lambda functions locally?
請向我解釋在本地測試 lambda 函數的最佳方法是什么。 我使用 sam local 和這個解決方案https://github.com/lambci/docker-lambda
進行測試,但例如,我從另一個錯誤調用一個 lambda 的地方。 一般來說,我不能為方法制作存根,因為 lambda 在容器中運行
這就是我在沒有無服務器框架的情況下測試本地 lambda 函數的方式,我在本地運行一個 HTTP 帖子(非常容易設置 Go)
func HandleRequest(ctx context.Context, request events.APIGatewayProxyRequest) (events.APIGatewayProxyResponse, error) {
_, _ = pretty.Println("parsed:", request.Body)
return events.APIGatewayProxyResponse{Body: "response is working", StatusCode: 200}, nil
}
func main() {
environment := loadEnv()
if environment == "develop" {
router.NewRouter()
select {}
} else {
lambda.Start(lambdahandler.HandleRequest)
}
}
func MapToApiGateway(w http.ResponseWriter, r *http.Request) (interface{}, error) {
request := new(EmailResponderRequest)
if err := json.NewDecoder(r.Body).Decode(request); err != nil {
return err.Error(), err
}
apiGatewayRequest := mapHttpRequestToGatewayRequest(*request)
events, err := lambdahandler.HandleRequest(nil, apiGatewayRequest)
if err != nil {
return err.Error(), err
}
return events, nil
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.