scf-go-api-proxy makes it easy to run Golang APIs written with frameworks such as Echo with Tecent Function and Tencent API Gateway.
The first step is to install the required dependencies
# First, we install the Lambda go libraries
$ go get github.com/tencentyun/scf-go-lib/events
$ go get github.com/tencentyun/scf-go-lib/cloudfunction
# Next, we install the core library
$ go getgithub.com/linthan/scf-go-api-proxy/...
Demo
package main
import (
"context"
"github.com/labstack/echo"
echoadapter "github.com/linthan/scf-go-api-proxy/echo"
"github.com/tencentyun/scf-go-lib/cloudfunction"
"github.com/tencentyun/scf-go-lib/events"
)
var echoLambda *echoadapter.EchoLambda
func handleRequest(ctx context.Context, request events.APIGatewayRequest) (events.APIGatewayResponse, error) {
return echoLambda.ProxyWithContext(ctx, request)
}
func main() {
e := echo.New()
e.GET("/hello", func(c echo.Context) error {
return c.JSON(200, map[string]interface{}{
"msg": "ok3",
})
})
echoLambda = echoadapter.New(e)
cloudfunction.Start(handleRequest)
}
This package also supports gin and chi
$ cd scf-lambda-go-api-proxy
$ make
The make
process should generate a main.zip
file in the sample folder. You can now upload the file to prepare the deployment for Tencent Function and Tencent API Gateway.
$ cd sample
Upload the main.zip to the tencent console
This library is licensed under the Apache 2.0 License.