Specifica le dipendenze in Go

Puoi specificare le dipendenze della funzione Cloud Function con un Go Module o una directory vendor.

Specifica le dipendenze con i moduli Go

Per specificare le dipendenze di Cloud Functions con un modulo Go, e li elenca in un file go.mod. Quando esegui il deployment della funzione, Go incorpora automaticamente le dipendenze il tuo file go.mod.

Per creare un file go.mod, consulta: Gestire le dipendenze in Go.

Il framework delle funzioni è un la dipendenza richiesta per tutte le funzioni. Sebbene Cloud Functions lo installi per tuo conto quando viene creata la funzione, ti consigliamo includerla come dipendenza esplicita per maggiore chiarezza.

Se le tue si basa su dipendenze private, ti consigliamo di esegui il mirroring di functions-framework nel tuo registro privato. Includi lo stato functions-framework come dipendenza dalla tua funzione per evitare di installare il componente dalla rete internet pubblica.

Specifica le dipendenze con una directory vendor

Cloud Functions ti consente anche di includere le dipendenze tramite un Directory vendor. L'utilizzo di una directory di fornitori è utile se la dipendenza non è disponibile tramite un gestore delle dipendenze o se la configurazione l'accesso è limitato.

La maggior parte delle volte, vendor directory vengono gestite con un gestore delle dipendenze. Puoi utilizzare qualsiasi gestore delle dipendenze, Ad esempio, puoi utilizzare Go's Funzionalità dei moduli per creare una directory vendor dal file go.mod.

Devi includere il framework delle funzioni per Go nel tuo fornitore . Per utilizzare la catena di strumenti Go:

  1. Aggiungi la seguente istruzione al blocco di importazione del tuo codice Go:

    _ "github.com/GoogleCloudPlatform/functions-framework-go/funcframework"
    
  2. Aggiorna il file go.mod in modo da includere il nuovo pacchetto importato:

    go mod tidy
    
  3. Crea una directory vendor utilizzando i contenuti del tuo file go.mod:

    go mod vendor
    

Versioni di Go precedenti alla 1.16

Per le versioni di Go precedenti alla 1.16, se hai un file go.mod e un vendor la directory vendor verrà ignorata quando esegui il deployment della funzione. Per assicurarti che la directory dei fornitori sia rispettata, utilizza una File .gcloudignore per evitare di caricare i file go.mod e go.sum:

  1. Crea un file .gcloudignore nella directory principale del progetto con seguenti contenuti:

    go.mod
    go.sum
    
    # Also ignore Git directories. Delete the following two lines if you want to
    # upload them.
    .git
    .gitignore
    

Utilizzo di dipendenze private

Se le dipendenze della funzione sono ospitate in un repository che non è pubblicamente accessibile, devi utilizzare una directory vendor per recuperare delle dipendenze prima di eseguire il deployment della funzione. Se prevedi di utilizzare un go.mod consulta le istruzioni riportate sopra per evitare potenziali conflitti tra go.mod e la directory vendor.