La tua funzione Cloud Run viene eseguita in un ambiente costituito da una versione del sistema operativo con pacchetti aggiuntivi, supporto linguistico e la libreria Java Functions Framework che supporta e richiama la tua funzione. Questo ambiente è identificato dalla versione della lingua ed è noto come ID runtime.
Preparazione della funzione
Puoi preparare una funzione direttamente dalla console Google Cloud o scriverla sulla tua macchina locale e caricarla. Per preparare la tua macchina locale per lo sviluppo Java, consulta Configura un ambiente di sviluppo Java.
Runtime Java e immagini di base supportati
| Runtime | ID runtime | Stack | Immagine di base runtime |
|---|---|---|---|
| Java 17 (Anteprima) |
java25 |
|
|
| Java 21 | java21 |
|
|
| Java 17 | java17 |
|
|
| Java 11 | java11 | google-18-full | google-18-full/java11 |
Seleziona il runtime
Puoi selezionare uno dei runtime Java supportati per la tua funzione durante il deployment.
Puoi selezionare una versione del runtime utilizzando la console Google Cloud o gcloud CLI. Fai clic sulla scheda per visualizzare le istruzioni sull'utilizzo dello strumento che preferisci:
gcloud
Specifica l'immagine di base Java 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 java21
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 eseguito da Cloud Run quando viene eseguita la funzione. Il valore di questo flag deve essere un nome di funzione o un nome di classe completo che esiste nel codice sorgente.
Per istruzioni dettagliate sul 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 console Google Cloud . Per istruzioni dettagliate sul deployment di una funzione, consulta Esegui il deployment di funzioni in Cloud Run.
Per selezionare un runtime nella console Google Cloud quando crei una funzione:
Nella console Google Cloud , vai alla pagina Cloud Run:
Fai clic su Scrivi una funzione.
Nell'elenco Runtime, seleziona una versione del runtime Java.
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 tua funzione. Fai clic su Salva e ridistribuisci.
Per istruzioni dettagliate sull'aggiornamento della versione del runtime dopo il deployment della funzione, consulta Eseguire nuovamente il deployment del nuovo codice sorgente.
Struttura del codice sorgente
Affinché le funzioni Cloud Run trovino la definizione della tua funzione, il codice sorgente deve seguire una struttura specifica. Per saperne di più, consulta Scrivi funzioni Cloud Run.
Specifica delle dipendenze
Puoi specificare le dipendenze per la tua funzione utilizzando Maven o Gradle. Per ulteriori informazioni, consulta Specificare le dipendenze in Java.
Variabili di ambiente
Il runtime Java imposta automaticamente alcune variabili di ambiente che la tua funzione può utilizzare in base alle necessità. Per maggiori dettagli, vedi Configurare le variabili di ambiente.
ID esecuzione
Per le funzioni Java che utilizzano la versione 1.4.0 o successive di functions-framework, puoi utilizzare la classe di logging java.util.logging.Logger per aggiungere un ID di esecuzione univoco agli output dei log. L'utilizzo di stdout o stderr (ad esempio,
System.println()) non aggiunge l'ID esecuzione.
Ricorda:
Se hai creato la funzione utilizzando l'API Cloud Functions v2 (ad esempio utilizzando
gcloud functions, l'API REST o Terraform), questo ID esecuzione viene aggiunto automaticamente.Se hai creato la funzione utilizzando l'API Cloud Run Admin (ad esempio utilizzando la console Google Cloud ,
gcloud run, l'API REST o Terraform), devi impostare la variabile di ambienteLOG_EXECUTION_IDsutrueper utilizzare questa funzionalità.