La tua funzione Cloud Run viene eseguita in un ambiente costituito da una versione del sistema operativo con pacchetti aggiuntivi, supporto dei linguaggi e la libreria del framework di Functions Go che supporta e richiama la tua funzione. Questo ambiente è identificato dalla versione del linguaggio ed è noto come ID runtime.
Preparazione della funzione
Puoi preparare una funzione direttamente dalla Google Cloud console oppure puoi scriverla sulla tua macchina locale e caricarla. Per preparare la tua macchina locale per lo sviluppo con Go, consulta Configurare un ambiente di sviluppo Go.
Runtime Go e immagini di base supportati
| Runtime | ID runtime | Stack | Immagine di base runtime | Ritiro | Dismissione |
|---|---|---|---|---|---|
| Go 1.26 | go126 |
|
|
||
| Go 1.25 | go125 |
|
|
||
| Go 1.24 | go124 |
|
|
2026-09-02 | 2027-03-02 |
| Go 1.23 |
go123 |
|
|
21/02/2026 | 21/08/2026 |
| Go 1.22 | go122 |
|
|
28/01/2026 | 28/07/2026 |
| Go 1.21 | go121 |
|
|
3/09/2025 | 03/03/2026 |
| Go 1.20 | go120 |
|
|
1/05/2024 | 01/05/2025 |
| Go 1.19 | go119 |
|
|
30/04/2024 | 30/01/2025 |
| Go 1.18 | go118 |
|
|
30/01/2024 | 30/01/2025 |
| Go 1.16 | go116 | google-18-full | google-18-full/go116 | 30/01/2024 | 30/01/2025 |
| Go 1.13 | go113 | google-18-full | google-18-full/go113 | 30/01/2024 | 30/01/2025 |
| Go 1.11 | go111 | Dismesso | Dismesso | 05/08/2020 | Febbraio 2021 |
Seleziona il runtime
Puoi selezionare uno dei runtime Go supportati per la tua funzione durante il deployment.
Puoi selezionare una versione del runtime utilizzando la Google Cloud console o la gcloud CLI. Fai clic sulla scheda per visualizzare le istruzioni sull'utilizzo dello strumento che preferisci:
gcloud
Specifica l'immagine di base Go per la tua funzione utilizzando il flag --base-image,
durante il deployment della funzione. Ad esempio:
gcloud run deploy FUNCTION \
--source . \
--function FUNCTION_ENTRYPOINT \
--base-image go126
Sostituisci:
FUNCTION con il nome della funzione di cui stai eseguendo il deployment. Puoi omettere completamente questo parametro, ma ti verrà chiesto il nome se lo ometti.
FUNCTION_ENTRYPOINT con l'entry point della funzione nel codice sorgente. Questo è il codice che Cloud Run esegue quando viene eseguita la funzione. Il valore di questo flag deve essere un nome di funzione o un nome di classe completo esistente nel codice sorgente.
Per istruzioni dettagliate su come eseguire il deployment di una funzione utilizzando gcloud CLI, consulta Eseguire il deployment di funzioni in Cloud Run.
Console
Puoi selezionare una versione del runtime quando crei o aggiorni una funzione Cloud Run nella Google Cloud console. Per istruzioni dettagliate su come eseguire il deployment di una funzione, consulta Eseguire il deployment di funzioni in Cloud Run.
Per selezionare un runtime nella Google Cloud console quando crei una funzione:
Nella Google Cloud console, vai alla pagina Cloud Run:
Fai clic su Scrivi una funzione.
Nell'elenco Runtime, seleziona una versione del runtime Go.
Fai clic su Crea e attendi che Cloud Run crei il servizio utilizzando una revisione segnaposto.
La console ti reindirizzerà alla scheda Origine , dove potrai visualizzare il codice sorgente della funzione. Fai clic su Salva ed esegui di nuovo il deployment.
Per istruzioni dettagliate su come aggiornare la versione del runtime dopo il deployment della funzione, consulta Eseguire di nuovo il deployment del nuovo codice sorgente.
Struttura del codice sorgente
Affinché Cloud Run Functions trovi la definizione della tua funzione, il codice sorgente deve seguire una struttura specifica. Per saperne di più, consulta Scrivere funzioni Cloud Run.
Specifica le dipendenze
Le funzioni Cloud Run in Go devono fornire tutte le dipendenze con i moduli Go e un file go.mod o con una directory vendor. Per
saperne di più, consulta Specificare le dipendenze in Go.
Variabili di ambiente
Il runtime Go imposta automaticamente alcune variabili di ambiente che la tua funzione può utilizzare in base alle esigenze. Per saperne di più, consulta Configurare le variabili di ambiente.
Tipo di Context
Il pacchetto context di Go definisce il tipo Context
, che contiene scadenze, indicatori di annullamento e altri valori relativi alla richiesta
tra i limiti dell'API e tra i processi.
Il seguente codice mostra un esempio di accesso al contesto da parte di un client Pub/Sub: