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
Nella console Google Cloud, vai alla pagina dei job Cloud Run:
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.
Fai clic su Contenitore, variabili e secret, connessioni, sicurezza per espandere la pagina delle proprietà del job.
Fai clic sulla scheda Variabili.
- 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.
- Procedi nel seguente modo:
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
-
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
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
- Aggiorna gli attributi
name
evalue
inenv
come mostrato incontainers:
:
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.
- Aggiorna gli attributi
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
Nella console Google Cloud, vai alla pagina dei job Cloud Run:
Fai clic sul job che ti interessa per aprire la pagina Dettagli job.
Fai clic sulla scheda Configuration (Configurazione).
Individua l'impostazione delle variabili di ambiente nei dettagli della configurazione.
gcloud
Utilizza il seguente comando:
gcloud run jobs describe JOB_NAME
Individua l'impostazione delle variabili di ambiente nella configurazione restituita.