使用Go构建FunctionGraph HTTP函数 本章节主要指导使用Go语言开发应用的用户,将业务部署到FunctionGraph。由于HTTP函数本身不支持Go语言直接代码部署,因此本章节将以转换成二进制的方式为例,将Go编写的程序部署到FunctionGraph上。 构建代码包 创建源文件main.go,代码如下: // main.go package main import ( "fmt" "net/http" "github.com/emicklei/gorestful" ) func registerServer() { fmt.Println("Running a Go Http server at localhost:8000/") ws : new(restful.WebService) ws.Path("/") ws.Route(ws.GET("/hello").To(Hello)) c : restful.DefaultContainer c.Add(ws) fmt.Println(http.ListenAndServe(":8000", c)) } func Hello(req restful.Request, resp restful.Response) { resp.Write([]byte("nice to meet you")) } func main() { registerServer() } bootstrap /opt/function/code/gohttpdemo 在main.go中,使用8000端口启动了一个HTTP服务器,并注册了path为“/hello”的API,调用该API将返回"nice to meet you"。 编译打包 1. 在linux 机器下,将上述代码编译 go build o gohttpdemo main.go 。然后,将gohttpdemo和bootstrap打包为xxx.zip。 2. 在windows机器下使用Golang编译器完成打包,具体步骤如下: 切换编译环境方式 查看之前的golang编译环境 go env 设置成linux对应的 set GOARCHamd64 go env w GOARCHamd64 set GOOSlinux go env w GOOSlinux go build o [目标可执行程序] [源程序] 例子 go build o gohttpdemo main.go
来自: