Go-Laufzeit
Überblick
Die Cloud Functions-Funktion wird in einer Umgebung ausgeführt, die aus einer Betriebssystemversion, Add-on-Paketen, Sprachunterstützung und der Functions Framework-Bibliothek besteht, die Ihre Funktion unterstützt und aufruft. Diese Umgebung wird durch die Sprachversion identifiziert und als Laufzeit bezeichnet.
Informationen zu Laufzeiten im Allgemeinen und dazu, welche Ubuntu-Version jede Go-Laufzeit verwendet, finden Sie in der Ausführungsumgebung von Cloud Functions.
Laufzeit auswählen
Cloud Functions unterstützt mehrere Versionen von Go, die auf der Seite Laufzeitsupport aufgeführt sind. Sie können die bevorzugte Go-Laufzeit für Ihre Funktion während der Bereitstellung auswählen.
gcloud
Wenn Sie die Google Cloud CLI verwenden, geben Sie die Laufzeit mit dem Parameter --runtime
mit der Go-Laufzeit Ihrer Wahl an.
Beispiel:
gcloud functions deploy FUNCTION_NAME --runtime go121 FLAGS...
FLAGS...
bezieht sich auf Argumente, die bei der erstmaligen Bereitstellung der Funktion übergeben wurden. Weitere Informationen zu erforderlichen und optionalen Argumenten finden Sie unter Über die Google Cloud CLI bereitstellen.
Console
Wenn Sie die Google Cloud Console verwenden, finden Sie weitere Informationen in der Google Cloud Console-Kurzanleitung.
Funktionsvorbereitung
Sie können eine Funktion direkt über die Google Cloud Console vorbereiten oder auf Ihren lokalen Computer schreiben und hochladen. Informationen zum Vorbereiten Ihres lokalen Computers für die Go-Entwicklung finden Sie unter Go-Entwicklungsumgebung einrichten.
Informationen zu den ersten Schritten mit Go in Cloud Functions finden Sie in der Kurzanleitung.
Struktur des Quellcodes
Damit Cloud Functions die Definition Ihrer Funktion findet, muss Ihr Quellcode einer bestimmten Struktur entsprechen. Weitere Informationen finden Sie unter Cloud Functions-Funktionen schreiben.
Abhängigkeiten angeben
Alle Abhängigkeiten von Cloud Functions in Go müssen entweder mit Go-Modulen und einer go.mod
-Datei oder mit einem vendor
-Verzeichnis bereitgestellt werden. Weitere Informationen finden Sie unter Abhängigkeiten in Go angeben.
Umgebungsvariablen
Ihre Go-Laufzeit legt automatisch bestimmte Umgebungsvariablen fest, die Ihre Funktion nach Bedarf verwenden kann. Weitere Informationen finden Sie unter Umgebungsvariablen verwenden.
Context
Typ
Mit dem context
-Paket von Go wird der Context
-Typ definiert, der Fristen, Abbruchsignale und andere auf Anfragen bezogene Werte über API-Grenzen hinweg und zwischen Prozessen überträgt.
Der folgende Code der 2. Generation zeigt ein Beispiel für den Kontextzugriff durch einen Pub/Sub-Client: