[英]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.