Abhängigkeiten in Go angeben

Sie können Abhängigkeiten Ihrer Cloud Functions-Funktion entweder mit einem Go-Modul oder mit einem vendor-Verzeichnis festlegen.

Abhängigkeiten mit Go-Modulen angeben

Wenn Sie Cloud Functions-Abhängigkeiten 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.

Abhängigkeiten mit einem vendor-Verzeichnis angeben

Sie können Abhängigkeiten in Cloud Functions auch über ein vendor-Verzeichnis angeben. Wenn Ihre Abhängigkeit nicht über einen Abhängigkeitsmanager verfügbar ist oder der Internetzugriff Ihrer Cloud Functions-Umgebung 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:

  1. Fügen Sie dem Importblock Ihres Go-Codes die folgende Anweisung hinzu:

    _ "github.com/GoogleCloudPlatform/functions-framework-go/funcframework"
    
  2. Aktualisieren Sie die Datei go.mod, um das neue importierte Paket aufzunehmen:

    go mod tidy
    
  3. Erstellen Sie mithilfe des Inhalts Ihrer go.mod-Datei ein Verzeichnis vendor:

    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:

  1. 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.