我正在尝试将运行小型golang应用程序的服务器移植到AWS Lambda。我对golang并不十分熟悉,我只是按照仓库中的说明将其部署到服务器上。

它使用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(顶点/网关),但我认为我缺少使它正常工作的基本步骤。

我要做的是下载和导入库

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函数。

它不起作用。我想我缺少了一些东西,但我不知道是什么。顶点/网关仓库示例中,我看不到我所缺少的内容。

该应用程序是Tinygraphs fwiw。

谢谢

{"message":"Not Found"}