【问题标题】:Google App Engine YAML not providing env variableGoogle App Engine YAML 不提供环境变量
【发布时间】:2016-12-19 13:23:08
【问题描述】:

我正在 Google App Engine 上设置一个 Java servlet。工作正常,但现在我正在尝试在 Google Cloud 中建立一个数据库。我收到了一个模板,建议我应该输入我的 app.yaml 文件并输入如下内容:

env_variables:
    DB_URL: 'some.url.to.a.db'

稍后我应该使用以下方法调用这个变量:

String dbUrl = System.getenv("DB_URL");

每次我尝试它时都会给我 null。

这个网站向我展示了如何定义环境变量。有什么明显的我误解了吗?

【问题讨论】:

    标签: java google-app-engine google-cloud-sql


    【解决方案1】:

    您的代码似乎有效。它应该适用于 App Engine 灵活实例。对我来说,它适用于

    runtime: java
    vm: true
    

    但是如果你在本地机器上使用 jetty:run 将不会看到 app.yaml 中声明的环境变量。所以这不是配置sql的好办法。我建议在GitHub 上查看示例。请注意,它使用新的 App Engine 环境并且不推荐使用 vm:true

    runtime: java
    env: flex
    

    【讨论】:

    • 我没有使用 vm: true 并且这并没有因为部署在本地主机上而失败。我使用 mvn:appengine deploy 进行部署。
    • 能否提供app.yaml的全部内容?你在使用 appengine-web.xml 吗?
    猜你喜欢
    • 1970-01-01
    • 2021-04-14
    • 2015-11-15
    • 2019-04-02
    • 1970-01-01
    • 2020-07-24
    • 1970-01-01
    • 1970-01-01
    • 2018-11-02
    相关资源
    最近更新 更多