Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google应用程序引擎-从应用程序代码中读取JSON文件_Go_Google App Engine_Google Cloud Platform_Environment_App.yaml - Fatal编程技术网

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)
}