Abhängigkeiten in Go angeben
Sie können Abhängigkeiten Ihrer Cloud Run-Funktion entweder mit einem Go-Modul oder mit einem vendor
-Verzeichnis festlegen.
Abhängigkeiten mit Go-Modulen angeben
Wenn Sie Abhängigkeiten von Cloud Run-Funktionen mit einem Go-Modul angeben möchten, listen Sie diese in einer go.mod
-Datei auf.
Wenn Sie die Funktion bereitstellen, fügt Go die Abhängigkeiten automatisch in Ihre go.mod
-Datei ein.
Informationen zum Erstellen einer go.mod
-Datei finden Sie unter Abhängigkeiten in Go verwalten.
Das Functions Framework ist eine erforderliche Abhängigkeit für alle Funktionen. Obwohl Cloud Run-Funktionen sie bei der Erstellung der Funktion für Sie installiert, empfehlen wir, sie zur Klarstellung hinzuzufügen.
Wenn Ihre Funktion private Abhängigkeiten benötigt, sollten Sie functions-framework
in Ihre private Registry spiegeln. Fügen Sie die gespiegelte functions-framework
als Abhängigkeit zu Ihrer Funktion hinzu, um die Installation des Pakets aus dem öffentlichen Internet zu vermeiden.
Abhängigkeiten mit einem vendor
-Verzeichnis angeben
Sie können Abhängigkeiten in Cloud Run-Funktionen auch über ein vendor
-Verzeichnis angeben.
Wenn Ihre Abhängigkeit nicht über einen Abhängigkeitsmanager verfügbar ist oder der Internetzugriff Ihrer Umgebung für Cloud Run-Funktionen eingeschränkt ist, erweist sich die Verwendung eines Vendoring-Verzeichnisses als hilfreich.
Normalerweise werden vendor
-Verzeichnisse mit einem Abhängigkeitsmanager verwaltet.
Sie können einen beliebigen Abhängigkeitsmanager verwenden. So können Sie beispielsweise über die Funktionalität der Go-Module aus Ihrer go.mod
-Datei ein vendor
-Verzeichnis erstellen.
Sie müssen das Functions Framework für Go in Ihr Anbieterverzeichnis aufnehmen. So verwenden Sie die Go-Toolchain:
Fügen Sie dem Importblock Ihres Go-Codes die folgende Anweisung hinzu:
_ "github.com/GoogleCloudPlatform/functions-framework-go/funcframework"
Aktualisieren Sie die Datei
go.mod
, um das neue importierte Paket aufzunehmen:go mod tidy
Erstellen Sie mithilfe des Inhalts Ihrer
go.mod
-Datei ein Verzeichnisvendor
:go mod vendor
Go-Versionen vor 1.16
Bei Versionen von Go vor Version 1.16 wird das Verzeichnis vendor
ignoriert, wenn Sie eine go.mod
-Datei und ein vendor
-Verzeichnis haben.
Mit einer .gcloudignore
-Datei vermeiden Sie das Hochladen der go.mod
- und go.sum
-Dateien, damit Ihr Anbieterverzeichnis eingehalten wird:
Erstellen Sie im Stammverzeichnis Ihres Projektverzeichnisses eine
.gcloudignore
-Datei mit folgendem Inhalt:go.mod go.sum # Also ignore Git directories. Delete the following two lines if you want to # upload them. .git .gitignore
Private Abhängigkeiten verwenden
Wenn die Abhängigkeiten Ihrer Funktion in einem nicht öffentlich zugänglichen Repository gehostet werden, müssen Sie ein vendor
-Verzeichnis verwenden, um Ihre Abhängigkeiten vor der Bereitstellung der Funktion abzurufen. Wenn Sie vorhaben, eine go.mod
-Datei zu verwenden, sollten Sie die obigen Hinweise beachten, um potenzielle Konflikte zwischen der go.mod
-Datei und dem vendor
-Verzeichnis zu vermeiden.