Specifica le dipendenze in Go
Puoi specificare le dipendenze della funzione Cloud Run con un modulo Go o con una directory vendor.
Specifica le dipendenze con i moduli Go
Per specificare le dipendenze di Cloud Run Functions con un modulo Go, elencale 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 Gestione delle dipendenze in Go.
Il framework di Functions è una dipendenza obbligatoria per tutte le funzioni. Sebbene Cloud Run Functions lo installi per tuo conto al momento della creazione della funzione, ti consigliamo di includerlo 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 tuo registro privato. Includi il functions-framework sottoposto a mirroring come dipendenza della tua funzione per evitare di installare il pacchetto dalla rete internet pubblica.
Specifica le dipendenze con una directory vendor
Cloud Run Functions ti consente anche di includere le dipendenze tramite una directory vendor.
L'utilizzo di una directory vendor è utile se la dipendenza non è disponibile tramite un gestore delle dipendenze o se l'accesso a internet dell'ambiente Cloud Run Functions è limitato.
La maggior parte delle volte, le directory vendor vengono gestite con un gestore delle dipendenze.
Puoi utilizzare qualsiasi gestore delle dipendenze. Ad esempio, puoi utilizzare la funzionalità dei moduli di Go per creare una directory vendor dal file go.mod.
Devi includere il framework di Functions per Go nella directory vendor. Per utilizzare la toolchain Go:
Aggiungi la seguente direttiva al blocco di importazione del codice Go:
_ "github.com/GoogleCloudPlatform/functions-framework-go/funcframework"Aggiorna il file
go.modper includere il nuovo pacchetto importato:go mod tidyCrea una directory
vendorutilizzando i contenuti del filego.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 una directory vendor, la directory vendor verrà ignorata quando esegui il deployment della funzione.
Per assicurarti che la tua directory vendor venga rispettata, utilizza un file
.gcloudignore
per evitare di caricare i file go.mod e go.sum:
Crea un file
.gcloudignorenella directory radice del progetto con i contenuti seguenti: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 tua 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.