2016-12-19 3 views
0

Ich richte ein Java-Servlet in Google App Engine ein. Das funktioniert gut, aber jetzt versuche ich eine Datenbank in Google Cloud einzurichten. Ich bin mit einer Vorlage zur Verfügung gestellt, die vorschlägt, dass ich meine app.yaml-Datei eingeben und so etwas wie diese ein:Google App Engine YAML stellt keine env-Variable zur Verfügung

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

Später sollte ich diese Variable nennen mit:

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

Das gibt mir null, immer wenn ich es ausprobiere.

Dies ist die Website, die mir gezeigt hat, wie man die env-Variablen definiert. Gibt es etwas Offensichtliches, das ich falsch verstanden habe?

Antwort

0

Es scheint, dass Ihr Code gültig ist. Es sollte in der App Engine Flexible-Instanz funktionieren. Bei mir funktioniert es mit

runtime: java 
vm: true 

Aber Umgebung in der app.yaml deklarierten Variablen nicht, wenn Sie Anlegesteg benutzen zu sehen: auf dem lokalen Rechner ausgeführt werden. Dies ist also keine gute Lösung für die Konfiguration von SQL. Ich rate dazu, ein Beispiel auf GitHub zu schauen. Beachten Sie, dass es eine neue App Engine-Umgebung verwendet und dass vm: true veraltet ist.

runtime: java 
env: flex 
+0

Ich verwende nicht vm: true und dies schlägt nicht fehl, da es auf localhost bereitgestellt wird. Ich verwende mvn: appengine deploy für die Bereitstellung. –

+0

Können Sie den vollständigen Inhalt von app.yaml bereitstellen? Und verwenden Sie appengine-web.xml? –

Verwandte Themen