更新时间:2025-08-12 gmt 08:00
使用go语言程序构建http函数-j9九游会登录
方案概述
本章节主要指导使用go语言开发应用的用户,将业务部署到functiongraph。
由于http函数本身不支持go语言直接代码部署,因此本章节将以转换成二进制的方式为例,将go编写的程序部署到functiongraph上。
操作流程
构建代码包
创建源文件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触发器,创建apig专享版触发器,“安全认证”建议选择“none”,方便调试。
图1 apig触发器
调用测试
将刚才创建的apig触发器的url 代码中注册的“/hello”复制到浏览器地址栏,可以看到页面返回结果如下:
图2 请求结果
相关文档
意见反馈
文档内容是否对您有帮助?
提交成功!非常感谢您的反馈,我们会继续努力做到更好!
您可在查看反馈及问题处理状态。
系统繁忙,请稍后重试
如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨