繁体   English   中英

如何区分Google AppEngine上的本地部署和实时部署

[英]How to differentiate between local deployment and live deployment on Google AppEngine

我想设置全局变量,例如:

var DEBUG_MODE bool

func init() {
  // set DEBUG_MODE true if localhost (not appspot.com or other domain)
}

这个怎么做?

最简单的方法是使用appengine.IsDevAppServer()来判断您的应用程序是在开发模式下运行(使用AppEngine SDK)还是实时(在生产中):

 func IsDevAppServer() bool 

IsDevAppServer报告App Engine应用程序是否在开发App Server中运行。

或者,您也可以使用appengine.ServerSoftware() ,它包含此信息以及您的App版本,合并为一个字符串:

 func ServerSoftware() string 

ServerSoftware返回App Engine发行版。 在制作中,它看起来像“Google App Engine / XYZ”。 在开发应用程序服务器中,它看起来像“开发/ XY”。

例如,你想做什么:

var DEBUG_MODE bool

func init() {
    DEBUG_MODE = appengine.IsDevAppServer()
}

或者在一行中:

var DEBUG_MODE = appengine.IsDevAppServer()

虽然请注意,只要您引用DEBUG_MODE ,就可以调用appengine.IsDevAppServer() 名称DEBUG_MODE也不符合Go命名约定,如果需要导出它,它应该是DebugMode (因为你也想从其他包中访问它),或者如果它不需要导出它应该是debugMode

看到这个相关问题(可能重复?): 如何根据项目ID设置变量?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM