Google应用程序引擎-从应用程序代码中读取JSON文件
在我部署的一个应用程序引擎中,我遇到以下错误Google应用程序引擎-从应用程序代码中读取JSON文件,go,google-app-engine,google-cloud-platform,environment,app.yaml,Go,Google App Engine,Google Cloud Platform,Environment,App.yaml,在我部署的一个应用程序引擎中,我遇到以下错误 加载配置文件时出错:打开go-config.json:没有这样的文件或目录 这是处理程序中的go代码片段。go config := config{} err := gonfig.GetConf("go-config.json", &config) if err != nil { log.Printf("error loading config file: %v\n", err) } 这是我的a
加载配置文件时出错:打开go-config.json:没有这样的文件或目录
这是处理程序中的go代码片段。go
config := config{}
err := gonfig.GetConf("go-config.json", &config)
if err != nil {
log.Printf("error loading config file: %v\n", err)
}
这是我的app.yaml
文件
runtime: go114
service: finance
在appengine的调试器上,我可以看到项目结构如下所示
app engine:/
quantify
app.yaml
config.go
go-config.json
main.go
handlers.go
quantify
为什么我不能在部署的应用程序代码中读取此文件?我尝试在我的
app.yaml
中指定处理程序,但没有成功。首先,您应该通过fmt.Println(os.Getwd())找到当前路径。
然后将“go config.json”更改为当前路径的相关路径@MuffinTop您能提供一个示例吗?就像
runtime:go114服务:finance upload:go config.json
什么是gonfig包?@MuffinTop它是一个json配置文件,使用这个go包,我能够使用标准的io/ioutil
包成功地从GAE根目录读取文件。您还可以为我们提供您的main.go
的最小可复制代码吗?我将尝试此操作,因此我不需要在我的app.yaml中进行任何配置来指定此.json
文件?路径上显示/srv
?根据GAE/GCP文档,这确实没有意义。您是否尝试过这样的/srv/go config.json
?@guillaumeblaquiere是的,它仍然说没有这样的文件或目录
我无法重现文件读取错误。你能记录文件的内容吗?像这样dat,:=ioutil.ReadFile(“/srv/go config.json”)fmt.Print(string(dat))
fmt.Println(os.Getwd())
config := config{}
err := gonfig.GetConf("go-config.json", &config)
if err != nil {
log.Printf("error loading config file: %v\n", err)
}