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.
Cloud Functions unterstützt diese Go-Laufzeiten:
- Go 1.21 (empfohlen)
- Go 1.20
- Go 1.19
- Go 1.18
- Go 1.16
- Go 1.13
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
Sie müssen eine Go-Laufzeit angeben, um die Funktion bei der Bereitstellung auszuführen. So geben Sie Ihre Go-Laufzeit an:
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 gcloud-Tool zum Bereitstellen verwenden.
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 über Go-Module mit einer go.mod
-Datei oder über ein 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: