linthan / scf-go-api-proxy

help to deploy an echo project to tencent scf

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Tencent Function Go Api Proxy

scf-go-api-proxy makes it easy to run Golang APIs written with frameworks such as Echo with Tecent Function and Tencent API Gateway.

Getting started

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)
}

Other frameworks

This package also supports gin and chi

Deploying the sample

$ 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

Deploy

Upload the main.zip to the tencent console

License

This library is licensed under the Apache 2.0 License.

About

help to deploy an echo project to tencent scf

License:Apache License 2.0


Languages

Language:Go 98.6%Language:Makefile 1.4%