Utilizza le variabili di ambiente

Le variabili di ambiente impostate vengono inserite nel container e sono accessibili al codice. Le variabili di ambiente sono impostate come coppie chiave/valore.

Nomi riservati

Le variabili di ambiente definite nel contratto di runtime del container sono riservate e non possono essere impostate. In particolare, Cloud Run consente l'inserimento della variabile di ambiente PORT nel container. Non devi impostarla autonomamente.

Imposta le variabili di ambiente

Puoi impostare variabili di ambiente per servizi o job Cloud Run.

Per i servizi Cloud Run

Qualsiasi modifica alla configurazione porta alla creazione di una nuova revisione. Le revisioni successive riceveranno automaticamente questa impostazione di configurazione, a meno che non apporti aggiornamenti espliciti per modificarla.

Puoi impostare le variabili di ambiente tramite la console Google Cloud, la riga di comando gcloud o un file YAML quando crei un nuovo servizio o esegui il deployment di una nuova revisione:

Console

  1. Vai a Cloud Run

  2. Fai clic su Crea servizio se stai configurando un nuovo servizio in cui stai eseguendo il deployment. Se stai configurando un servizio esistente, fai clic sul servizio e poi su Modifica ed esegui il deployment di una nuova revisione.

  3. Se stai configurando un nuovo servizio, compila la pagina delle impostazioni del servizio iniziale come preferisci, quindi fai clic su Container, Networking, Security per espandere la pagina di configurazione del servizio.

  4. Fai clic sulla scheda Contenitore.

    immagine

    • Procedi come segue:
      • Se aggiungi una variabile, fai clic su Aggiungi variabile e specifica il nome che vuoi per la variabile e il suo valore nelle caselle di testo Nome e Valore.
      • Se stai modificando un valore per una variabile, sostituisci il valore corrente nella casella di testo Valore con quello che preferisci.
      • Se vuoi rimuovere una o più variabili di ambiente, passa il mouse sopra la casella di testo Valore della variabile che stai rimuovendo per visualizzare l'icona del cestino e fai clic sull'icona.
  5. Fai clic su Crea o Esegui il deployment.

Riga di comando

Per impostare, aggiornare o rimuovere le variabili di ambiente di un servizio esistente, utilizza il comando gcloud run services update. Se necessario, puoi utilizzare uno qualsiasi dei seguenti flag:

Puoi specificare le variabili di ambiente durante il deployment di un servizio oppure aggiornarle dopo la creazione del servizio:

gcloud run deploy [SERVICE] --image IMAGE_URL --update-env-vars KEY1=VALUE1,KEY2=VALUE2

gcloud run services update SERVICE --update-env-vars KEY1=VALUE1,KEY2=VALUE2
  • Sostituisci SERVICE con il nome del servizio.
  • Sostituisci KEY1=VALUE1,KEY2=VALUE2 con l'elenco separato da virgole di nomi di variabili desiderate e relativi valori.
  • Sostituisci IMAGE_URL con un riferimento all'immagine container, ad esempio us-docker.pkg.dev/cloudrun/container/hello:latest. Quando utilizzi Artifact Registry, l'URL ha il formato: REGION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG. .

YAML

Puoi scaricare e visualizzare le configurazioni di servizio esistenti utilizzando il comando gcloud run services describe --format export, che genera risultati puliti in formato YAML. Successivamente, potrai modificare i campi descritti di seguito e caricare il file YAML modificato utilizzando il comando gcloud run services replace. Assicurati di modificare solo i campi come documentato.

  1. Per visualizzare e scaricare la configurazione:

    gcloud run services describe SERVICE --format export > service.yaml
  2. Aggiorna gli attributi name e value sotto l'attributo env in containers::

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: SERVICE
    spec:
      template:
        metadata:
          name: REVISION
        spec:
          containers:
          - image: IMAGE
            env:
            - name: KEY-1
              value: VALUE-1
            - name: KEY-N
              value: VALUE-N

    Sostituisci

    • SERVICE con il nome del tuo servizio Cloud Run
    • IMAGE_URL con un riferimento all'immagine container, ad esempio us-docker.pkg.dev/cloudrun/container/hello:latest. Quando utilizzi Artifact Registry, l'URL ha il formato: REGION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG.
    • KEY-1, VALUE-1 con la variabile di ambiente e il valore. Se vuoi, aggiungi altre variabili e valori in base alle tue esigenze.
    • REVISION con un nuovo nome di revisione o eliminalo (se presente). Se fornisci un nuovo nome della revisione, deve soddisfare i seguenti criteri:
      • Inizia con SERVICE-
      • Contiene solo lettere minuscole, numeri e -
      • Non termina con -
      • Non superare i 63 caratteri.
  3. Sostituisci il servizio con la nuova configurazione utilizzando il seguente comando:

    gcloud run services replace service.yaml

Terraform

Per informazioni su come applicare o rimuovere una configurazione Terraform, consulta Comandi Terraform di base.

Aggiungi quanto segue a una risorsa google_cloud_run_service nella configurazione di Terraform, in template.spec.containers. L'esempio seguente imposta la variabile di ambiente foo su bar e la variabile di ambiente baz su quux:

# Environment variables
# https://cloud.google.com/run/docs/configuring/environment-variables
env {
  name  = "foo"
  value = "bar"
}
env {
  name  = "baz"
  value = "quux"
}

Per job Cloud Run

Per impostare una variabile di ambiente per un job Cloud Run:

Console

  1. Vai a Cloud Run

  2. Se stai configurando un nuovo job, fai clic sulla scheda Job e compila la pagina delle impostazioni del job iniziale come preferisci. Se stai configurando un job esistente, fai clic sul job e poi su Modifica.

  3. Fai clic su Container, variabili e secret, connessioni, sicurezza per espandere la pagina delle proprietà del job.

  4. Fai clic sulla scheda Variabili.

    immagine

    • Procedi come segue:
      • Se aggiungi una variabile, fai clic su Aggiungi variabile e specifica il nome che vuoi per la variabile e il suo valore nelle caselle di testo Nome e Valore.
      • Se stai modificando un valore per una variabile, sostituisci il valore corrente nella casella di testo Valore con quello che preferisci.
      • Se vuoi rimuovere una o più variabili di ambiente, passa il mouse sopra la casella di testo Valore della variabile che stai rimuovendo per visualizzare l'icona del cestino e fai clic sull'icona.
  5. Fai clic su Crea o Aggiorna.

Riga di comando

Imposta, aggiorna o rimuovi le variabili di ambiente di un servizio esistente, utilizzando il comando gcloud runJob update. Se necessario, puoi utilizzare uno qualsiasi dei seguenti flag:

  • --set-env-vars
  • --update-env-vars
  • --remove-env-vars
  • --clear-env-vars

    Puoi specificare variabili di ambiente durante la creazione di un job o l'aggiornamento di un job:

    gcloud run jobs create JOB_NAME --image IMAGE_URL --update-env-vars KEY1=VALUE1,KEY2=VALUE2
    
    gcloud run jobs update JOB_NAME --update-env-vars KEY1=VALUE1,KEY2=VALUE2
  • Sostituisci JOB_NAME con il nome del tuo job.

  • Sostituisci KEY1=VALUE1,KEY2=VALUE2 con l'elenco separato da virgole di nomi delle variabili desiderati e relativi valori.

  • Sostituisci IMAGE_URL con un riferimento all'immagine container, ad esempio us-docker.pkg.dev/cloudrun/container/job:latest.

YAML

Scarica e visualizza la configurazione del job esistente utilizzando il comando gcloud run jobs describe --format export, che genera risultati puliti in formato YAML. Successivamente, modifica i campi descritti di seguito e carica il file YAML modificato utilizzando il comando gcloud run jobs replace. Assicurati di modificare solo i campi come documentato.

  1. Per visualizzare e scaricare la configurazione:

    gcloud run jobs describe JOB_NAME --format export > job.yaml
    1. Aggiorna gli attributi name e value in env come mostrato in containers::
    apiVersion: run.googleapis.com/v1
    kind: Job
    metadata:
      name: JOB
    spec:
      template:
        spec:
          template:
            spec:
              containers:
              - image: IMAGE
                env:
                - name: KEY-1
                  value: VALUE-1
                - name: KEY-N
                  value: VALUE-N

    Sostituisci KEY-1, VALUE-1 con la variabile di ambiente e il valore. Se vuoi, aggiungi altre variabili e valori in base alle tue esigenze.

    Puoi anche specificare altre configurazioni come variabili di ambiente o limiti di memoria.

  2. Aggiorna la configurazione del job esistente:

    gcloud run jobs replace job.yaml

Imposta molte variabili di ambiente

Se hai troppe variabili di ambiente che non possono essere facilmente elencate nel formato KEY1=VALUE1,KEY2=VALUE2, in alternativa puoi ripetere i flag elencati sopra più volte:

   [...]
   --set-env-vars "KEY1=VALUE1" \
   --set-env-vars "KEY2=VALUE2" \
   --set-env-vars "KEY3=VALUE3"

Carattere di escape

Poiché la virgola , viene utilizzata per suddividere le variabili di ambiente, se la variabile di ambiente contiene caratteri virgola come valori, devi eseguire l'escape di questi delimitatori specificando un carattere diverso per il delimitatore, ad esempio @:

--set-env-vars "^@^KEY1=value1,value2,value3@KEY2=..."

Imposta le variabili di ambiente predefinite nel container

Puoi utilizzare l'istruzione ENV in un Dockerfile per impostare valori predefiniti per le variabili di ambiente:

ENV KEY1=VALUE1,KEY2=VALUE2

Ordine di precedenza: container rispetto alle variabili di servizio o job

Se imposti una variabile di ambiente predefinita nel container e hai anche impostato una variabile di ambiente con lo stesso nome nel servizio o nel job Cloud Run, il valore impostato sul servizio ha la precedenza.

Visualizza le impostazioni delle variabili di ambiente

Per visualizzare le impostazioni delle variabili di ambiente correnti per il tuo servizio Cloud Run:

Console

  1. Vai a Cloud Run

  2. Fai clic sul servizio che ti interessa per aprire la pagina Dettagli del servizio.

  3. Fai clic sulla scheda Revisioni.

  4. Nel riquadro dei dettagli a destra, l'impostazione delle variabili di ambiente è elencata nella scheda Variabili.

Riga di comando

  1. Utilizza il comando seguente:

    gcloud run services describe SERVICE
  2. Individua l'impostazione delle variabili di ambiente nella configurazione restituita.

Per visualizzare le impostazioni delle variabili di ambiente correnti per il tuo job Cloud Run:

Console

  1. Vai ai job Cloud Run

  2. Fai clic sul job che ti interessa per aprire la pagina Dettagli job.

  3. Fai clic sulla scheda Configuration (Configurazione).

  4. Individua l'impostazione delle variabili di ambiente nei dettagli di configurazione.

Riga di comando

  1. Utilizza il comando seguente:

    gcloud run jobs describe JOB_NAME
  2. Individua l'impostazione delle variabili di ambiente nella configurazione restituita.

Codice di esempio

Per un esempio di codice che mostra come accedere alle variabili di ambiente nel codice, consulta il tutorial su gestione della configurazione sensibile con Secret Manager nel tutorial sull'autenticazione dell'utente finale.

Passaggi successivi

Puoi utilizzare le variabili di ambiente per impostare la configurazione di Buildpack. Per dettagli specifici per lingua, consulta la documentazione di Buildpacks per: