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"
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 .
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:
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.
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
aktualisiertTags und Links google-app-engine