j9九游会登录/ 函数工作流 functiongraph/ 最佳实践/ / 使用go语言程序构建http函数
更新时间: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"。

编译打包

  1. linux机器下,将上述代码编译 go build -o go-http-demo main.go。然后,将go-http-demo和bootstrap打包为xxx.zip。
  2. 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 请求结果

相关文档

网站地图