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, queste 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 sul job:

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

Per un elenco di ruoli e autorizzazioni IAM associati a Cloud Run, consulta Ruoli IAM di Cloud Run e Autorizzazioni IAM di Cloud Run. Se il tuo job Cloud Run interagisce con Google Cloud API, come le librerie client Cloud, consulta la guida alla configurazione dell'identità del servizio. Per saperne di più sulla concessione dei ruoli, consulta Autorizzazioni di deployment e Gestisci 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 Google Cloud console, il gcloud CLI o un file YAML:

Console

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

    Vai a Cloud Run

  2. Fai clic su Esegui il deployment del container per compilare la pagina delle impostazioni iniziali del job. Se stai configurando un job esistente, selezionalo e fai clic su Visualizza e modifica la configurazione del job.

  3. Fai clic su Container, 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 saperne di più su come impostare più variabili di ambiente o utilizzare i caratteri di escape, consulta 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 --set-env-vars flag:

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 di variabili e relativi valori.
  • IMAGE_URL: un riferimento all' immagine container, ad esempio us-docker.pkg.dev/cloudrun/container/job:latest.

Per saperne di più su come impostare più variabili di ambiente o utilizzare i caratteri di escape, consulta 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 valore. Facoltativamente, aggiungi altre variabili e valori in base alle esigenze.

    Puoi anche specificare altre configurazioni, come le variabili di ambiente o i 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 google_cloud_run_v2_job risorsa 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.

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

Imposta le variabili di ambiente predefinite nel container

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

ENV KEY1=VALUE1,KEY2=VALUE2

Ordine di precedenza: variabili del container rispetto a quelle del job

Se imposti una variabile di ambiente predefinita nel container e anche imposti 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.

Imposta più variabili di ambiente utilizzando il file .env

Console

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

    Vai a Cloud Run

  2. Fai clic su Esegui il deployment del container per compilare la pagina delle impostazioni iniziali del job. Se stai configurando un job esistente, selezionalo e fai clic su Visualizza e modifica la configurazione del job.

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

  4. Fai clic sulla scheda Container.

    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 il comando seguente:

gcloud 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: il 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"

Utilizza i caratteri di escape per le virgole

Poiché la virgola , viene utilizzata per dividere le variabili di ambiente, se la variabile di ambiente contiene virgole come valori, devi utilizzare i caratteri di escape per 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 Google Cloud console:

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

    Vai a Cloud Run

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

  3. Fai clic sulla scheda Container.

  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 --update-env-vars flag:

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 di variabili e relativi valori.

Visualizza le impostazioni delle variabili di ambiente

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

Console

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

    Vai ai job Cloud Run

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

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

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

gcloud

  1. Utilizza il seguente comando:

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

Elimina le variabili di ambiente

Puoi eliminare le variabili di ambiente per i job esistenti.

Console

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

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

    Vai a Cloud Run

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

  3. Fai clic sulla scheda Container.

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

  5. Fai clic su Fine.

  6. Fai clic su Esegui il deployment.

gcloud

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

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 di nomi di variabili.

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

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