构建代码包
创建源文件main.go,代码如下:
// main.go
package main
import (
"fmt"
"net/http"
"github.com/emicklei/go-restful"
)
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/go-http-demo
在main.go中,使用8000端口启动了一个HTTP服务器,并注册了path为“/hello”的API,调用该API将返回"nice to meet you"。
编译打包
-
在linux机器下,将上述代码编译 go build -o go-http-demo main.go 。然后,将go-http-demo和bootstrap打包为xxx.zip。
-
在windows机器下使用Golang编译器完成打包,具体步骤如下:
# 切换编译环境方式 # 查看之前的golang编译环境 go env # 设置成linux对应的 set GOARCH=amd64 go env -w GOARCH=amd64 set GOOS=linux go env -w GOOS=linux # go build -o [目标可执行程序] [源程序] # 例子 go build -o go-http-demo main.go # 还原之前的编译环境 set GOARCH=amd64 go env -w GOARCH=amd64 set GOOS=windows go env -w GOOS=windows
创建HTTP函数并上传代码
创建1个HTTP函数,并上传已打包的xxx.zip包。详情请参见 用户指南的“创建HTTP函数”章节。
创建APIG触发器
详情请参见用户指南的“使用APIG(专享版)触发器”,“安全认证”建议选择“None”,方便调试。
调用测试
将刚才创建的APIG触发器的URL+代码中注册的“/hello”复制到浏览器地址栏,可以看到请求结果。