Configura le variabili di ambiente

Quando imposti le variabili di ambiente, queste vengono iniettate nel contenitore 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 del runtime del contenitore sono riservate e non possono essere impostate. In particolare, la variabile di ambiente PORT viene inserita all'interno del contenitore da Cloud Run. Non devi impostarlo da solo.

Numero massimo di variabili di ambiente

Tieni presente che puoi impostare un massimo di 1000 variabili di ambiente per contenitore 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
  • Utente account di servizio (roles/iam.serviceAccountUser): l'identità del servizio

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

Imposta le variabili di ambiente

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

Console

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

    Vai a Cloud Run

  2. Fai clic su Esegui il deployment del contenitore e seleziona Job per compilare la pagina delle impostazioni iniziali del job. Se stai configurando un job esistente, selezionalo e fai clic su Modifica.

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

  4. Fai clic sulla scheda Variabili.

    immagine

    • Procedi nel seguente modo:
      • Se aggiungi 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 stai rimuovendo una o più variabili di ambiente, passa il cursore del mouse a sinistra della casella di testo Valore della variabile che stai rimuovendo per visualizzare l'icona Cestino e fai clic.
  5. Fai clic su Crea o Aggiorna.

gcloud

Imposta, aggiorna o rimuovi le variabili di ambiente di un servizio esistente utilizzando il comando gcloud run jobs update. Puoi utilizzare uno dei seguenti flag, in base alle esigenze:

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

    Puoi specificare le 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 job.

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

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

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.

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

  2. Aggiorna la configurazione del job esistente:

    gcloud run jobs replace job.yaml

Impostare molte variabili di ambiente

Se hai troppe variabili di ambiente che non possono essere facilmente elencate in 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"

Caratteri di escape per le virgole

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

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

Imposta le variabili di ambiente predefinite nel contenitore

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 contenitore rispetto a quelle del servizio o del job

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

Visualizzare 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 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 della configurazione.

gcloud

  1. Utilizza il seguente comando:

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