我正在尝试将运行小型 golang 应用程序的服务器移植到 AWS Lambda。我对 golang 不是很熟悉,要部署到服务器,我刚刚按照 repo 中的说明进行操作。
它运行一个带有net/http的服务器,main.go如下:
func main() {
r := new(route.Router)
r.HandleFunc("/squares", squares.Random)
// ... more Handlers
log.Println("Listening on " + os.Getenv("PORT"))
err := http.ListenAndServe(":"+os.Getenv("PORT"), r)
if err != nil {
log.Fatal("ListenAndServe:", err)
}
}
现在我在 Github 上找到了 ListenAndServe、apex/gateway的这个插入式替换存储库,但我认为我错过了让它工作的基本步骤。
我所做的是下载和导入库
import (
...
"github.com/apex/gateway/v2"
)
然后只需替换 main、zip 中的函数并上传到 aws lambda
func main() {
r := new(route.Router)
r.HandleFunc("/squares", squares.Random)
// ... more Handlers
// log.Println("Listening on 8080")
err := gateway.ListenAndServe(":8080", r)
if err != nil {
log.Fatal("ListenAndServe:", err)
}
}
然后我设置了一个 http API 网关并链接到 lambda 函数。
它不起作用。我想我错过了一些东西,但我不知道是什么。从apex/gateway repo 上的示例中,我看不出我缺少什么。
该应用程序是Tinygraphs fwiw。
谢谢
编辑:根据 Adrians 的评论,当我转到 api 链接时,我得到
{"message":"Not Found"}
POPMUISE
慕的地10843
白衣染霜花
随时随地看视频慕课网APP
相关分类