Gibt es die Möglichkeit, mehrere Anwendungen mit Google App Engine zu hosten?

8

Muss ich für jede neue Google App Engine-App ein neues Projekt erstellen? Oder gibt es eine andere Möglichkeit, mehrere Apps in einem Projekt zu haben?

BEARBEITEN: entfernte "zusätzliche Frage"

    
Maksim Luzik 27.03.2015, 14:11
quelle

4 Antworten

9

Jedes Mal, wenn Sie etwas in App Engine hochladen, müssen Sie einen Versionsnamen definieren und Sie können bis zu 25 verschiedene Versionen für dieselbe Anwendungs-ID hochladen.

Jede Version hat eine direkte URL, die wie folgt aussieht:

%Vor%

oder wenn HTTPS

gewünscht wird %Vor%

Wenn Sie die Version von der URL weglassen, erhalten Sie die Standardversion, die Sie im Dashboard ausgewählt haben.

In der Theorie können Sie also bis zu 25 verschiedene Anwendungen unter demselben Projekt ausführen, aber sie verwenden denselben Datenspeicher.

Eine weitere Option ist die Verwendung der App Engine-Module .

    
Lipis 27.03.2015, 14:22
quelle
10

Dies ist leicht mit services möglich. Bei der Bereitstellung in App Engine definieren Sie Ihre app.yaml -Datei mit einer Zeile wie: service: my-second-app

Komplette app.yaml-Datei für einen anderen Node.js-Dienst:

%Vor%

Wenn Sie die Bereitstellung durchführen, führen Sie sie aus dem Verzeichnis aus, das Ihre app.yaml-Datei enthält:

%Vor%

Oder wenn Sie Ihre Konfiguration in einer yaml-Datei nur für Ihre sekundäre App definieren möchten:

%Vor%

Der neue Dienst wird neben Ihrem default Dienst bereitgestellt und erhält eine eigene URL wie:

%Vor%     
Art Haedike 23.06.2017 20:50
quelle
4

Sie können eine unbegrenzte Anzahl von "Apps" mit derselben projectId ausführen. Sie können beispielsweise verschiedene Client-Apps laden, wenn ein Benutzer auf Ihrem Server verschiedene URLs antrifft: /mainApp , /setup , /admin usw.

Diese Apps haben Zugriff auf den gleichen Datenspeicher. Sie müssen also vorsichtig sein, um sie zu trennen, z. B. indem Sie Namespaces oder andere Entitätsarten verwenden - wenn Sie sie trennen müssen. Im obigen Beispiel können "Setup" und "Admin" verschiedene Apps sein, die auf dieselben Daten zugreifen.

Beachten Sie, dass mehrere Apps im selben Projekt nur dann sinnvoll sind, wenn diese Apps eng miteinander verknüpft sind. Andernfalls wird es sehr unpraktisch, auch wenn Sie verschiedene App Engine-Module verwenden, um den serverseitigen Code jeder Anwendung auszuführen.

    
Andrei Volgin 27.03.2015 14:56
quelle
1

Wenn ich später darauf zurückkomme, sehe ich, dass der richtige Ansatz darin besteht, App Engine-Dienste (früher als Module bekannt). Dienste können jeweils eigene Versionen haben.

BEARBEITEN: Defragmentierte Name Module zu Services

aktualisiert     
Maksim Luzik 14.12.2015 14:16
quelle

Tags und Links