Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.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 app engine 如何在google appengine上设置环境变量?_Google App Engine_Go - Fatal编程技术网

Google app engine 如何在google appengine上设置环境变量?

Google app engine 如何在google appengine上设置环境变量?,google-app-engine,go,Google App Engine,Go,我正试图在google app engine上设置并使用一个环境变量。我的app.yaml文件如下所示。但是,当我使用os.Getenv(“mytoken”)时,我会得到一个空字符串,而不是我设置的实际值。这是GAE臭虫吗 api_version: go1 handlers: - url: /.* script: _go_app env_variables: mytoken: '88786d9b9a0359824' 我在任何地方都找不到该字段的文档。我只在python配置中看到它,而不

我正试图在google app engine上设置并使用一个环境变量。我的app.yaml文件如下所示。但是,当我使用os.Getenv(“mytoken”)时,我会得到一个空字符串,而不是我设置的实际值。这是GAE臭虫吗

api_version: go1
handlers:
- url: /.*
  script: _go_app
env_variables:
  mytoken: '88786d9b9a0359824'

我在任何地方都找不到该字段的文档。我只在python配置中看到它,而不是Go配置。如果基于python文档,它可能不适用于go。不幸的是,GAE go运行时不支持app.yaml中的环境变量设置,请参见示例和

根据,PHP支持功能;爪哇,每小时;和Python

然而,在AppEngine的Go运行时中——请参阅——根本没有等效的功能


我建议在打开功能请求时(我在27个打开的FRs列表中没有看到任何等效的功能请求,或者,当然,我建议只“标记”现有的FR以注册您对它的兴趣)。

该功能现在已记录在案。但是,正如我刚才测试的,它在AppEngine上不起作用。它在本地服务器上工作,所以不要上当

编辑:它在谷歌AppEngine上工作。我以前的失败是由于一个错误。考虑这一点:

import "os"

var consumer = OAuth1Consumer{
    secret: os.Getenv("secret")
}

如果声明为全局变量,则此功能不起作用。

问题似乎在于此:尽管目前它仅在开发服务器上工作,而在生产环境中不起作用。@MarkDoyle+1对于linkYep,在本次讨论仅3个月后,新功能就实现了,这真是太好了(它似乎在生产环境中起作用……但就在请求的上下文中,在完成init函数之后——大致与下一个问题的讨论相同……啊,好吧,总比什么都没有好!)。你能澄清一下“如果你声明为全局变量,它就不起作用”的意思吗?您的示例
consumer
变量是package global,因此不清楚您的意思。@DaveC我不确定出了什么问题,我是新手。问题是,如果我像示例代码一样将变量声明为package global,它在AppEngine上不起作用(但是它在本地开发服务器上起作用)。但是,如果我将
os.Getenv
移动到某个函数中,它就会工作。我不知道内部。根据下面提供的链接@markdoyle(code.google.com/p/googleappengine/issues/detail?id=12006),直到所有的init函数都运行了,环境变量才准备好,我想说的是,全局变量声明也可能是这样。它从一个函数开始工作,因为到那时环境变量已经设置好了。