Die Go 1.11-Laufzeit ist der Softwarestack, der für die Installation des Codes Ihres Webdienstes und der zugehörigen Abhängigkeiten sowie für die Ausführung des Dienstes zuständig ist.
Die Laufzeit von Go 1.11+ für App Engine in der Standardumgebung wird in der Datei app.yaml
so deklariert:
runtime: go111
Go-Version
Die Go 1.11-Laufzeitumgebung verwendet die neueste stabile Version von Go 1.11. App Engine wird automatisch auf neue Nebenversionen aktualisiert. Die Aktualisierung der Hauptversion erfolgt jedoch nicht automatisch.
Das bedeutet beispielsweise, dass eine mit Go 1.11.1 bereitgestellte Anwendung bei einer späteren Bereitstellung automatisch auf Version 1.11.2 aktualisiert wird, aber nicht auf Go 1.12.
Abhängigkeiten
Weitere Informationen zum Deklarieren und Verwalten von Abhängigkeiten finden Sie unter Abhängigkeiten angeben.
Umgebungsvariablen
Folgende Umgebungsvariablen werden durch die Laufzeit festgelegt:
Umgebungsvariable | Beschreibung |
---|---|
GAE_APPLICATION
|
ID der App Engine-Anwendung. Diese ID hat das Präfix „region code~”, z. B. „e~” für Anwendungen, die in Europa bereitgestellt werden. |
GAE_DEPLOYMENT_ID |
ID der aktuellen Bereitstellung. |
GAE_ENV |
App Engine-Umgebung. Legen Sie standard fest. |
GAE_INSTANCE |
ID der Instanz, auf der Ihr Dienst gerade ausgeführt wird. |
GAE_MEMORY_MB |
Größe des für den Anwendungsprozess verfügbaren Speichers in MB |
GAE_RUNTIME |
Laufzeit, die in der Datei app.yaml angegeben ist. |
GAE_SERVICE |
Dienstname, der in der Datei app.yaml angegeben ist. Wenn kein Dienstname angegeben ist, wird als Wert default festgelegt. |
GAE_VERSION |
Aktuelle Versionsbezeichnung Ihres Dienstes. |
GOOGLE_CLOUD_PROJECT |
Google Cloud-Projekt-ID, die der Anwendung zugeordnet ist. |
PORT |
Port, der HTTP-Anfragen empfängt. |
Sie können zusätzliche Umgebungsvariablen in Ihrer app.yaml
-Datei definieren. Die oben genannten Werte können jedoch nicht überschrieben werden.
HTTPS- und Weiterleitungs-Proxys
App Engine terminiert HTTPS-Verbindungen am Load-Balancer und leitet Anfragen an die Anwendung weiter. Einige Anwendungen müssen die ursprüngliche Anfrage-IP-Adresse und das Protokoll bestimmen. Die IP-Adresse des Nutzers ist im Standardheader X-Forwarded-For
verfügbar. Bei Anwendungen, die diese Informationen benötigen, sollte das Web-Framework so konfiguriert werden, dass dem Proxy vertraut wird.
Dateisystem
Die Laufzeit enthält das beschreibbare Verzeichnis /tmp
. Alle anderen Verzeichnisse sind schreibgeschützt. Beim Schreiben in /tmp
wird Systemspeicher belegt. Weitere Informationen finden Sie in der Dokumentation zu TempDir
und TempFile
.
Metadatenserver
Jede Instanz einer Anwendung kann den App Engine-Metadatenserver verwenden, um Informationen über die Instanz und das Projekt abzufragen.
Sie können auf den Metadatenserver über die folgenden Endpunkte zugreifen:
http://metadata
http://metadata.google.internal
An den Metadatenserver gesendete Anfragen müssen den Anfrageheader Metadata-Flavor: Google
enthalten. Dieser Header gibt an, dass die Anfrage zum Abrufen von Metadatenwerten gesendet wurde.
In der folgenden Tabelle sind die Endpunkte aufgeführt, an die Sie HTTP-Anfragen für bestimmte Metadaten senden können:
Metadatenendpunkt | Beschreibung |
---|---|
/computeMetadata/v1/project/numeric-project-id |
Projektnummer, die Ihrem Projekt zugewiesen ist. |
/computeMetadata/v1/project/project-id |
Projekt-ID, die Ihrem Projekt zugewiesen ist. |
/computeMetadata/v1/instance/zone |
Zone, in der die Instanz ausgeführt wird. |
/computeMetadata/v1/instance/service-accounts/default/aliases |
|
/computeMetadata/v1/instance/service-accounts/default/email |
E-Mail-Adresse des Standarddienstkontos, die Ihrem Projekt zugewiesen ist. |
/computeMetadata/v1/instance/service-accounts/default/ |
Listet alle Standarddienstkonten für Ihr Projekt auf. |
/computeMetadata/v1/instance/service-accounts/default/scopes |
Listet alle unterstützten Bereiche für die Standarddienstkonten auf. |
/computeMetadata/v1/instance/service-accounts/default/token |
Gibt das Authentifizierungstoken zurück, mit dem Ihre Anwendung gegenüber anderen Google Cloud APIs authentifiziert werden kann. |
Wenn Sie z. B. Ihre Projekt-ID abrufen möchten, senden Sie eine Anfrage an http://metadata.google.internal/computeMetadata/v1/project/project-id
.
Umgebungsvariablen
Folgende Umgebungsvariablen werden durch die Laufzeit festgelegt:
Umgebungsvariable | Beschreibung |
---|---|
GAE_APPLICATION
|
ID der App Engine-Anwendung. Diese ID hat das Präfix „region code~”, z. B. „e~” für Anwendungen, die in Europa bereitgestellt werden. |
GAE_DEPLOYMENT_ID |
ID der aktuellen Bereitstellung. |
GAE_ENV |
App Engine-Umgebung. Legen Sie standard fest. |
GAE_INSTANCE |
ID der Instanz, auf der Ihr Dienst gerade ausgeführt wird. |
GAE_MEMORY_MB |
Größe des für den Anwendungsprozess verfügbaren Speichers in MB |
GAE_RUNTIME |
Laufzeit, die in der Datei app.yaml angegeben ist. |
GAE_SERVICE |
Dienstname, der in der Datei app.yaml angegeben ist. Wenn kein Dienstname angegeben ist, wird als Wert default festgelegt. |
GAE_VERSION |
Aktuelle Versionsbezeichnung Ihres Dienstes. |
GOOGLE_CLOUD_PROJECT |
Google Cloud-Projekt-ID, die der Anwendung zugeordnet ist. |
PORT |
Port, der HTTP-Anfragen empfängt. |
Sie können zusätzliche Umgebungsvariablen in Ihrer app.yaml
-Datei definieren. Die oben genannten Werte können jedoch nicht überschrieben werden.