Specifica le dipendenze in Go
Puoi specificare le dipendenze della Cloud Function con una directory Go Module o vendor
.
Specificare le dipendenze con i moduli Go
Per specificare le dipendenze di Cloud Functions con un modulo Go, devi elencarle in un file go.mod
.
Quando esegui il deployment della funzione, Go incorpora automaticamente le dipendenze nel file go.mod
.
Per creare un file go.mod
, consulta
Gestire le dipendenze in Go.
Il framework delle funzioni è una dipendenza obbligatoria per tutte le funzioni. Anche se Cloud Functions la installa per tuo conto al momento della creazione della funzione, ti consigliamo di includerla come dipendenza esplicita per maggiore chiarezza.
Se la tua funzione si basa su dipendenze private, ti consigliamo di eseguire il mirroring di functions-framework
nel registro privato. Includi functions-framework
con mirroring come dipendenza dalla funzione per evitare di installare il pacchetto dalla rete internet pubblica.
Specifica le dipendenze con una directory vendor
Cloud Functions consente inoltre di includere le dipendenze tramite una
directory vendor
.
L'utilizzo di una directory del fornitore è utile se la dipendenza non è disponibile tramite un gestore delle dipendenze o se l'accesso a internet dell'ambiente Cloud Functions è limitato.
La maggior parte delle volte, vendor
directory sono gestite con un gestore delle dipendenze.
Puoi utilizzare qualsiasi gestore delle dipendenze. Ad esempio, puoi utilizzare la funzionalità
Moduli di Go per creare una directory vendor
dal tuo file go.mod
.
Devi includere il framework delle funzioni per Go nella directory del fornitore. Per utilizzare la Toolchain Go:
Aggiungi la seguente istruzione al blocco di importazione del tuo codice Go:
_ "github.com/GoogleCloudPlatform/functions-framework-go/funcframework"
Aggiorna il file
go.mod
per includere il nuovo pacchetto importato:go mod tidy
Crea una directory
vendor
utilizzando i contenuti del filego.mod
:go mod vendor
Versioni Go precedenti alla 1.16
Per le versioni di Go precedenti alla 1.16, se hai un file go.mod
e una directory vendor
, la directory vendor
verrà ignorata quando esegui il deployment della funzione.
Per assicurarti che la directory del fornitore venga rispettata, utilizza un file .gcloudignore
per evitare di caricare i file go.mod
e go.sum
:
Crea un file
.gcloudignore
nella directory principale della directory del progetto con i seguenti contenuti:go.mod go.sum # Also ignore Git directories. Delete the following two lines if you want to # upload them. .git .gitignore
Utilizzo delle dipendenze private
Se le dipendenze della funzione sono ospitate in un repository non accessibile pubblicamente, devi utilizzare una directory vendor
per recuperare le dipendenze prima di eseguire il deployment della funzione. Se prevedi di utilizzare un file go.mod
, consulta le istruzioni riportate sopra per evitare potenziali conflitti tra il file go.mod
e la directory vendor
.