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 variabili di ambiente per 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 Google Cloud console, 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 delle impostazioni iniziali 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

    • Procedi nel seguente modo:
      • Se stai aggiungendo una variabile, fai clic su Aggiungi variabile e specifica il nome che vuoi assegnare alla variabile e il relativo 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 rimuovi una o più variabili di ambiente, passa il cursore a sinistra della casella di testo Valore della variabile che stai rimuovendo per visualizzare l'icona Cestino e fai clic su di essa.
  5. Fai clic su Crea o Aggiorna.

gcloud

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

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

Per specificare le variabili di ambiente durante l'aggiornamento di un job, utilizza il flag --set-env-vars dopo la creazione del 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 job.
  • KEY1=VALUE1,KEY2=VALUE2, con l'elenco separato da virgole di nomi delle variabili e relativi valori.
  • IMAGE_URL con un riferimento all'immagine container, ad esempio us-docker.pkg.dev/cloudrun/container/job:latest.

Imposta molte variabili di ambiente

Se hai molte variabili di ambiente che non possono essere elencate nel formato KEY1=VALUE1,KEY2=VALUE2 puoi ripetere più volte il flag --set-env-vars:
   [...]
   --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=..."

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 altre 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:

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

(Facoltativo) 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 una variabile di ambiente con lo stesso nome nel job Cloud Run, il valore impostato nel job ha la precedenza.

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:

  • JOB_NAME con il nome del job.
  • KEY1=VALUE1,KEY2=VALUE2, con l'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 Google Cloud console, 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 le 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 selettivamente 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:

  • JOB_NAME con il nome del job.
  • KEY1,KEY2, con l'elenco dei nomi delle variabili separati da virgole.

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

Sostituisci:

  • JOB_NAME con il nome del job.