Mysql 使用Golang时,Apex进程在完成请求之前退出

Mysql 使用Golang时,Apex进程在完成请求之前退出,mysql,go,aws-lambda,Mysql,Go,Aws Lambda,这类问题的所有答案都是Javascript,我不确定它是否适用于Go 我已经做到了 func main() { db, err := sql.Open("mysql", "db_details") err = db.Ping() if err != nil { fmt.Println("Failed to prepare connection to database") // log.Fatal("Error:", err.Error()) } apex.

这类问题的所有答案都是Javascript,我不确定它是否适用于Go

我已经做到了

func main() {
  db, err := sql.Open("mysql", "db_details")
  err = db.Ping()
  if err != nil {
    fmt.Println("Failed to prepare connection to database")
    // log.Fatal("Error:", err.Error())
  }
    apex.HandleFunc(func(event json.RawMessage, ctx *apex.Context) (interface{}, error) {
      fmt.Println(ctx)
      return map[string]string{"hello": "world"}, nil
    })
}
因此,我尝试使用golang的sql驱动程序访问我的Amazon RDS MySql数据库

我得到这个错误

Error: function response: Response Id: <some_id> Process exited before completing request
错误:函数响应:响应Id:进程在完成请求之前退出
环顾四周,有两个原因-1。我需要Go的上下文等价物。完成,或2。我需要提高超时时间

在使用Apex时,我将超时时间提高到300秒,这是最大值。那里运气不好

然后,我试着浏览Apex代码,看看是否有
上下文。Done
在任何地方定义或使用-没有


我该怎么做

不熟悉Apex-HandleFunc是否立即返回?如果是这样,您的程序将立即退出,这可能会解释错误。在apex文档中,“您必须使用stderr进行日志记录”fmt.Println默认情况下将打印到Stdout。也许这就是问题所在?不了解apex或如何运行此命令:)不熟悉apex-是否立即返回
HandleFunc
?如果是这样,您的程序将立即退出,这可能会解释错误。在apex文档中,“您必须使用stderr进行日志记录”fmt.Println默认情况下将打印到Stdout。也许这就是问题所在?不了解apex或如何运行此工具:)