Die Cloud Run-Funktion wird in einer Umgebung ausgeführt, die aus einer Betriebssystemversion, Add-on-Paketen, Sprachunterstützung und der Go Functions Framework-Bibliothek besteht, die Ihre Funktion unterstützt und aufruft. Diese Umgebung wird durch die Sprachversion identifiziert und als Laufzeit-ID bezeichnet.
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 Entwicklung mit Go finden Sie unter Go-Entwicklungsumgebung einrichten.
Unterstützte Go-Laufzeiten und Basis-Images
Laufzeit | Laufzeit-ID | Stacks | Laufzeit-Basis-Image |
---|---|---|---|
Go 1.23 (nur Vorabversion) |
go123 |
|
|
Go 1.22 | go122 |
|
|
Go 1.21 | go121 |
|
|
Go 1.20 | go120 |
|
|
Go 1.19 | go119 |
|
|
Go 1.18 | go118 |
|
|
Go 1.16 | go116 | google-18-full | google-18-full/go116 |
Go 1.13 | go113 | google-18-full | google-18-full/go113 |
Go 1.11 | go111 | Außer Betrieb genommen | Außer Betrieb genommen |
Laufzeit auswählen
Sie können während der Bereitstellung eine der unterstützten Go-Laufzeiten für Ihre Funktion auswählen.
Sie können eine Laufzeitversion über die Google Cloud Console oder die gcloud CLI auswählen. Klicken Sie auf den Tab, um eine Anleitung zum Verwenden des gewünschten Tools zu erhalten.
gcloud
Geben Sie beim Bereitstellen der Funktion das Go-Basis-Image für Ihre Funktion mit dem Flag --base-image
an. Beispiel:
gcloud run deploy FUNCTION \
--source . \
--function FUNCTION_ENTRYPOINT \
--base-image go122
Ersetzen Sie:
FUNCTION durch den Namen der Funktion, die Sie bereitstellen. Sie können diesen Parameter auch weglassen, werden dann jedoch nach dem Namen gefragt.
FUNCTION_ENTRYPOINT durch den Einstiegspunkt zur Funktion in Ihrem Quellcode. Dies ist der Code, der von Cloud Run ausgeführt wird, wenn Ihre Funktion ausgeführt wird. Der Wert dieses Flags muss ein Funktionsname oder ein voll qualifizierter Klassenname sein, der in Ihrem Quellcode vorhanden ist.
Eine ausführliche Anleitung zum Bereitstellen einer Funktion mit der gcloud CLI finden Sie unter Funktionen in Cloud Run bereitstellen.
Console
Sie können eine Laufzeitversion auswählen, wenn Sie in der Google Cloud Console eine Cloud Run-Funktion erstellen oder aktualisieren. Eine ausführliche Anleitung zum Bereitstellen einer Funktion finden Sie unter Funktionen in Cloud Run bereitstellen.
So wählen Sie beim Erstellen einer Funktion eine Laufzeit in der Google Cloud Console aus:
Wechseln Sie in der Google Cloud Console zur Seite Cloud Run.
Klicken Sie auf Funktion schreiben.
Wählen Sie in der Liste Laufzeit eine Go-Laufzeitversion aus.
Klicken Sie auf Erstellen und warten Sie, bis der Dienst in Cloud Run mit einer Platzhalter-Überarbeitung erstellt wurde.
Die Console leitet Sie zum Tab Quelle weiter, auf dem Sie den Quellcode Ihrer Funktion sehen. Klicken Sie auf Speichern und neu bereitstellen.
Eine ausführliche Anleitung zum Aktualisieren der Laufzeitversion nach der Bereitstellung Ihrer Funktion finden Sie unter Neuen Quellcode noch einmal bereitstellen.
Struktur des Quellcodes
Damit Cloud Run Functions die Definition Ihrer Funktion findet, muss Ihr Quellcode einer bestimmten Struktur entsprechen. Weitere Informationen finden Sie unter Cloud Run-Funktionen schreiben.
Abhängigkeiten angeben
Alle Abhängigkeiten von Cloud Run-Funktionen 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
Die Go-Laufzeit legt automatisch bestimmte Umgebungsvariablen fest, die Ihre Funktion nach Bedarf verwenden kann. Weitere Informationen finden Sie unter Umgebungsvariablen konfigurieren.
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 zeigt ein Beispiel für den Kontextzugriff durch einen Pub/Sub-Client: