【发布时间】:2014-08-31 15:57:25
【问题描述】:
我通过 Github 将我的项目部署到 GAE。有一些外部 API 密钥我不想保存在存储库中并将它们公开。是否可以在 GAE 控制面板中为项目设置环境变量,以便我可以在我的应用程序中捕获它?
【问题讨论】:
我通过 Github 将我的项目部署到 GAE。有一些外部 API 密钥我不想保存在存储库中并将它们公开。是否可以在 GAE 控制面板中为项目设置环境变量,以便我可以在我的应用程序中捕获它?
【问题讨论】:
我更喜欢将 Datastore 用于这样的键。请参阅我在Securely storing environment variables in GAE with app.yaml的答案中的代码
该代码会自动生成占位符值,然后您可以从开发者控制台更新这些值。此外,它使用 ndb 库,因此读取密钥很快。
【讨论】:
您可以将密钥存储在数据存储中。稍后当您在代码中需要它们时,您可以从 datastore 中获取它们并通过 memcache 缓存它们。
【讨论】:
您可以在 App Engine 应用程序的配置文件中定义环境变量。如果是 Python,则为 app.yaml
env_variables:
MY_ENV_VAR: 'some_value'
您可以找到更多详细信息here。
目前没有可以在开发者控制台中定义的项目参数之类的东西。
【讨论】:
heroku config:add KEY1=foobar KEY2=frobozz