Il runtime Java

La 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 funzione. Questo ambiente viene identificato dalla versione della lingua ed è noto come ID runtime.

Preparazione della funzione

Puoi preparare una funzione direttamente dalla Google Cloud console o scriverla sulla tua macchina locale e caricarla. Per preparare la tua macchina locale per lo sviluppo Java, consulta Configurare un ambiente di sviluppo Java.

Runtime Java e immagini di base supportati

Runtime ID runtime Serie Immagine di base del runtime
Java 21 java21
  • google-22 (valore predefinito)
  • google-22-full
  • google-22/java21
  • google-22-full/java21
  • Java 17 java17
  • google-22 (valore predefinito)
  • google-22-full
  • google-22/java17
  • google-22-full/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 di runtime utilizzando la Google Cloud console o l'gcloud CLI. Fai clic sulla scheda per leggere le istruzioni sull'utilizzo dello strumento scelto:

    gcloud

    Specifica l'immagine di base Java per la 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 del tutto questo parametro, ma se lo fai ti verrà chiesto il nome.

    • FUNCTION_ENTRYPOINT con il punto di ingresso 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 completamente qualificato esistente 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 Google Cloud console. Per istruzioni dettagliate sul 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:

    1. Nella Google Cloud console, vai alla pagina Cloud Run:

      Vai a Cloud Run

    2. Fai clic su Scrivi una funzione.

    3. Nell'elenco Runtime, seleziona una versione del runtime Java.

    4. Fai clic su Crea e attendi che Cloud Run crei il servizio utilizzando una revisione segnaposto.

    5. La console ti reindirizzerà alla scheda Origine, dove potrai visualizzare il codice sorgente della funzione. Fai clic su Salva e ridistribuisci.

    Per istruzioni dettagliate su come aggiornare la 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 funzione, il codice sorgente deve seguire una struttura specifica. Per ulteriori informazioni, consulta Scrivere funzioni Cloud Run.

    Specifica delle dipendenze

    Puoi specificare le dipendenze per la funzione utilizzando Maven o Gradle. Per ulteriori informazioni, consulta Specificare le dipendenze in Java.

    Variabili di ambiente

    Il runtime Java imposta automaticamente determinate variabili di ambiente per la funzione da utilizzare in base alle esigenze. Per maggiori dettagli, vedi Configurare le variabili di ambiente.

    ID esecuzione

    Per le funzioni Java che utilizzano functions-framework versione 1.4.0 o successive, puoi utilizzare la classe di logging java.util.logging.Logger per aggiungere un ID esecuzione univoco agli output dei log. L'utilizzo di stdout o stderr (ad es. 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 Google Cloud console, gcloud run, l'API REST o Terraform), devi impostare la variabile di ambiente LOG_EXECUTION_ID sutrue per utilizzare questa funzionalità.