Überblick
Die Go-Laufzeit in der flexiblen Umgebung ist der Softwarestapel, der für das Erstellen und Ausführen Ihres Codes verantwortlich ist.
Für die Verwendung der Go-Laufzeit in der flexiblen Umgebung fügen Sie der Datei app.yaml
zwei Zeilen hinzu:
runtime: go
env: flex
Laufzeitumgebungen in der flexiblen Umgebung verwenden Docker. Der Quellcode für die Go-Laufzeit ist auf GitHub verfügbar.
Go-Versionen
Die Go-Laufzeit unterstützt folgende Versionen:
- 1.15
- 1.14
- 1.13
- 1.12
- 1.11
- 1.10
- 1.9
Dabei wird der neueste stabile Release der ausgewählten Version verwendet. Bei der Anwendungsbereitstellung aktualisiert App Engine automatisch auf neue Release-Versionen. Die Nebenversion wird jedoch nicht automatisch aktualisiert.
Beispiel: Eine mit Go 1.14.10 bereitgestellte Anwendung wird später automatisch auf Go 1.14.11 aktualisiert, aber nicht auf Go 1.15.0.
Pakete importieren
Wenn Sie Ihre App in App Engine bereitstellen, wird Ihr Code kompiliert. Wenn Sie den Bereitstellungsbefehl ausführen, werden die Abhängigkeiten Ihrer App von Ihrem lokalen GOPATH
abgerufen und an den Build-Server gesendet. Fehlende Abhängigkeiten, wie z. B. Bibliotheken von Drittanbietern, führen zu Build-Fehlern.
Sie sollten Ihre App vor der Bereitstellung lokal testen, um Build-Fehler zu vermeiden und sicherzustellen, dass alle Abhängigkeiten Ihrer App mit Ihrem Code bereitgestellt werden.
Laufzeit erweitern
Anleitungen zum Erweitern und Anpassen der Go-Laufzeit finden Sie im Go-Laufzeit-Builder auf GitHub.
Metadatenserver
Jede Instanz der Anwendung kann den Compute Engine-Metadatenserver verwenden, um Informationen über die Instanz abzufragen, einschließlich Hostname, externer IP-Adresse, Instanz-ID, benutzerdefinierter Metadaten und Dienstkontoinformationen. Sie können in App Engine nicht für jede einzelne Instanz benutzerdefinierte Metadaten festlegen. Sie haben aber die Möglichkeit, projektweite benutzerdefinierte Metadaten anzugeben und aus den App Engine- und Compute Engine-Instanzen zu lesen.
Verwenden Sie das Paket cloud.google.com/go/compute/metadata
für den Zugriff auf den Metadatenserver.