Configurare le variabili di ambiente per i job

Questa pagina descrive come configurare le variabili di ambiente per il job Cloud Run.

Quando imposti le variabili di ambiente, vengono inserite nel container e sono accessibili al tuo 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.

Numero massimo di variabili di ambiente

Tieni presente che puoi impostare un massimo di 1000 variabili di ambiente per container per ogni job Cloud Run.

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per configurare i job Cloud Run, chiedi all'amministratore di concederti i seguenti ruoli IAM per il job:

  • Cloud Run Developer (roles/run.developer): il job Cloud Run
  • Service Account User (roles/iam.serviceAccountUser): l'identità del servizio

Per un elenco di ruoli e autorizzazioni IAM associati a Cloud Run, consulta Ruoli IAM Cloud Run e Autorizzazioni IAM Cloud Run. Se il tuo job Cloud Run interagisce con le APIGoogle Cloud , come le librerie client Cloud, consulta la guida alla configurazione dell'identità del servizio. Per ulteriori informazioni sulla concessione dei ruoli, consulta Autorizzazioni di deployment e Gestire l'accesso.

Imposta le variabili di ambiente

Puoi impostare le variabili di ambiente per i job nuovi ed esistenti. Tieni presente che il flag --set-env-vars è un'azione distruttiva che elimina le variabili di ambiente impostate in precedenza non incluse nel nuovo elenco di variabili di ambiente.

Puoi impostare le variabili di ambiente utilizzando la console Google Cloud , gcloud CLI o un file YAML:

Console

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

    Vai a Cloud Run

  2. Seleziona Job dal menu e fai clic su Deploy container per compilare la pagina iniziale delle impostazioni del job. Se stai configurando un job esistente, seleziona il job, poi fai clic su Modifica.

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

  4. Fai clic sulla scheda Variabili.

    immagine

    • Nella scheda Variabili e secret, fai clic su Aggiungi variabile e specifica il nome e il valore che vuoi per la variabile nei campi Nome e Valore. Per ulteriori informazioni su come impostare più variabili di ambiente o eseguire l'escape di caratteri speciali, vedi Impostare più variabili di ambiente.
  5. Fai clic su Crea o Aggiorna.

gcloud

Per specificare le variabili di ambiente quando crei un job, utilizza il flag --set-env-vars:

gcloud run jobs create JOB_NAME --image IMAGE_URL --set-env-vars KEY1=VALUE1,KEY2=VALUE2

Sostituisci quanto segue:

  • JOB_NAME: il nome del job.
  • KEY1=VALUE1,KEY2=VALUE2: elenco separato da virgole di nomi delle variabili e relativi valori.
  • IMAGE_URL: un riferimento all'immagine container, ad esempio us-docker.pkg.dev/cloudrun/container/job:latest.

Per ulteriori informazioni su come impostare più variabili di ambiente o eseguire l'escape di caratteri speciali, vedi Impostare più variabili di ambiente.

YAML

  1. Se stai creando un nuovo job, salta questo passaggio. Se stai aggiornando un job esistente, scarica la relativa configurazione YAML:

    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 necessità.

    Puoi anche specificare più configurazioni, come variabili di ambiente o limiti di memoria.

  2. Aggiorna la configurazione del job esistente:

    gcloud run jobs replace job.yaml

Terraform

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

Aggiungi quanto segue a una risorsa google_cloud_run_v2_job nella configurazione Terraform:
resource "google_cloud_run_v2_job" "default" {
  name     = "JOB_NAME"
  location = "REGION"

  template {
    template {
      containers {
        image = "us-docker.pkg.dev/cloudrun/container/job"
        env {
          name = "KEY-1"
          value = "VALUE-1"
        }
        env {
          name = "KEY-N"
          value = "VALUE-N"
        }
      }
    }
  }
}

Sostituisci quanto segue:

  • JOB_NAME: il nome del job Cloud Run.
  • REGION: la Google Cloud regione. Ad esempio europe-west1.
  • KEY-1: la variabile di ambiente.
  • VALUE-1: il valore associato alla chiave.

Se vuoi, aggiungi altri blocchi env per impostare variabili di ambiente aggiuntive.

Imposta le variabili di ambiente predefinite nel container

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

ENV KEY1=VALUE1,KEY2=VALUE2

Ordine di precedenza: variabili del container e del job

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

Imposta più variabili di ambiente

Puoi impostare più variabili di ambiente utilizzando il file .env o il flag --set-env-vars.

Impostare più variabili di ambiente utilizzando il file .env

Console

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

    Vai a Cloud Run

  2. Seleziona Job dal menu e fai clic su Deploy container per compilare la pagina iniziale delle impostazioni del job. Se stai configurando un job esistente, seleziona il job, poi fai clic su Modifica.

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

  4. Fai clic sulla scheda Contenitore.

    immagine

    • Nella scheda Variabili e secret, fai clic su Aggiungi variabile e incolla i contenuti del file .env nel campo Nome. Cloud Run compila automaticamente il campo Valore e crea nuove variabili per ogni coppia chiave-valore definita nel file .env.
  5. Fai clic su Crea o Aggiorna.

gcloud

Per specificare più variabili di ambiente dal file .env, esegui questo comando:

gcloud beta run jobs create JOB_NAME --image=IMAGE_URL --env-vars-file=ENV_FILE_PATH

Sostituisci quanto segue:

  • JOB_NAME: il nome del job Cloud Run.
  • IMAGE_URL: un riferimento all'immagine container, ad esempio us-docker.pkg.dev/cloudrun/container/job:latest.
  • ENV_FILE_PATH: percorso del file .env.

Imposta più variabili di ambiente utilizzando il flag --set-env-vars

Se hai più variabili di ambiente che non possono essere elencate nel formato KEY1=VALUE1,KEY2=VALUE2, puoi ripetere il flag --set-env-vars più volte:
   [...]
   --set-env-vars "KEY1=VALUE1" \
   --set-env-vars "KEY2=VALUE2" \
   --set-env-vars "KEY3=VALUE3"

Caratteri virgola di escape

Poiché il carattere virgola , viene utilizzato per dividere le variabili di ambiente, se la variabile di ambiente contiene virgole come valori, devi eseguire l'escape di questi delimitatori specificando un carattere delimitatore diverso, ad esempio @:
--set-env-vars "^@^KEY1=value1,value2,value3@KEY2=..."

Aggiorna le variabili di ambiente

Puoi aggiornare le variabili di ambiente per i job esistenti. Si tratta di un approccio non distruttivo che modifica o aggiunge variabili di ambiente, ma non elimina le variabili di ambiente impostate in precedenza.

Console

Per aggiornare le variabili di ambiente utilizzando la console Google Cloud :

  1. Nella console Google Cloud , vai a Cloud Run:

    Vai a Cloud Run

  2. Seleziona il tuo job dall'elenco e fai clic su Modifica ed esegui il deployment di una nuova revisione.

  3. Fai clic sulla scheda Contenitore.

  4. Nella scheda Variabili e secret, modifica i campi Nome o Valore e fai clic su Fine.

  5. Fai clic su Esegui il deployment.

gcloud

Per aggiornare le variabili di ambiente di un job esistente, utilizza il flag --update-env-vars:

gcloud run jobs update JOB_NAME --update-env-vars KEY1=VALUE1,KEY2=VALUE2

Sostituisci quanto segue:

  • JOB_NAME: il nome del job.
  • KEY1=VALUE1,KEY2=VALUE2: elenco separato da virgole di nomi e valori delle variabili.

Visualizza le impostazioni delle variabili di ambiente

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

Console

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

    Vai ai job Cloud Run

  2. Fai clic sull'offerta di lavoro che ti interessa per aprire la pagina Dettagli offerta di lavoro.

  3. Fai clic su Visualizza e modifica la configurazione del job.

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

gcloud

  1. Utilizza questo comando:

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

Elimina variabili di ambiente

Puoi eliminare le variabili di ambiente per i job esistenti.

Console

Per eliminare le variabili di ambiente utilizzando la console Google Cloud :

  1. Nella console Google Cloud , vai a Cloud Run:

    Vai a Cloud Run

  2. Seleziona il tuo job dall'elenco e fai clic su Modifica ed esegui il deployment di una nuova revisione.

  3. Fai clic sulla scheda Contenitore.

  4. Nella scheda Variabili e secret, sposta il cursore a sinistra del campo Valore della variabile di ambiente che stai rimuovendo per visualizzare l'icona Elimina, e fai clic.

  5. Fai clic su Fine.

  6. Fai clic su Esegui il deployment.

gcloud

Per rimuovere in modo selettivo le variabili di ambiente di un job esistente, utilizza il flag --remove-env-vars:

gcloud run jobs update JOB_NAME --remove-env-vars KEY1,KEY2

Sostituisci quanto segue:

  • JOB_NAME: il nome del job.
  • KEY1,KEY2: elenco separato da virgole dei nomi delle variabili.

In alternativa, cancella tutte le variabili di ambiente impostate in precedenza con il flag --clear-env-vars:

gcloud run jobs update JOB_NAME --clear-env-vars