google-app-engine - 如何设置GAE环境特定的环境变量?

标签 google-app-engine go

我在 Go 中使用 martini 获得了一个 GAE 应用程序.我需要能够设置 MARTINI_ENV 环境变量来告诉 martini 它应该使用生产设置进行初始化。根据 Python 文档 you can set environment variables in the app.yaml .我在 Go docs 中没有看到任何提及。 ,但我猜它的工作原理应该是一样的。

我需要能够将 MARTINI_ENV 环境变量设置为 production,但我只想在实际处于生产状态时这样做(即 !appengine.IsDevAppServer())。有没有办法告诉 app.yaml 只在非开发服务器上运行时执行此操作?

最佳答案

Go 中的 GAE 没有设置环境变量的概念,因为这些不会在您的 GAE 实例之间共享。

由于 martini.Env 是一个导出变量,但您可以使用自己的逻辑对其进行设置。有多种方法可以做到这一点:

  1. MARTINI_ENV 不存在时,默认将 martini.Env 设置为生产
  2. 将你自己的 config.yaml 添加到你的 repo,解析它并从那里设置 martini.Env
  3. 使用类似godotenv 的库使用其 Read 函数,它将读取您的点文件而不是将其加载到环境中。

关于google-app-engine - 如何设置GAE环境特定的环境变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24585406/

相关文章:

python - Appengine Python Webapp2 API 逻辑结构

macos - 无法从主机到达docker容器内的服务器

docker golang包导入报错: import path does not begin with hostname

django - 使用 Django 在 App Engine 上存储图像

google-app-engine - 使用 Google Go 的协程创建贝叶斯网络

python - 无法克服 "You do not have permission to modify this app"

google-app-engine - 当代码在本地开发服务器上工作时,为什么 GAE 返回服务器错误?

go - 使用brew安装fluxctl

python - 在Windows操作系统上使用Go和Python实现客户端-服务器模型

go - 错误类型 go lang