Le variabili di ambiente impostate vengono inserite nel container e sono accessibili al 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. In particolare, Cloud Run
consente l'inserimento della variabile di ambiente PORT
nel container. Non devi impostarla autonomamente.
Imposta le variabili di ambiente
Puoi impostare variabili di ambiente per servizi o job Cloud Run.
Per i servizi Cloud Run
Qualsiasi modifica alla configurazione porta alla creazione di una nuova revisione. Le revisioni successive riceveranno automaticamente questa impostazione di configurazione, a meno che non apporti aggiornamenti espliciti per modificarla.
Puoi impostare le variabili di ambiente tramite la console Google Cloud, la riga di comando gcloud o un file YAML quando crei un nuovo servizio o esegui il deployment di una nuova revisione:
Console
Fai clic su Crea servizio se stai configurando un nuovo servizio in cui stai eseguendo il deployment. Se stai configurando un servizio esistente, fai clic sul servizio e poi su Modifica ed esegui il deployment di una nuova revisione.
Se stai configurando un nuovo servizio, compila la pagina delle impostazioni del servizio iniziale come preferisci, quindi fai clic su Container, Networking, Security per espandere la pagina di configurazione del servizio.
Fai clic sulla scheda Contenitore.
- Procedi come segue:
- Se aggiungi una variabile, fai clic su Aggiungi variabile e specifica il nome che vuoi per la variabile e il suo 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 vuoi rimuovere una o più variabili di ambiente, passa il mouse sopra la casella di testo Valore della variabile che stai rimuovendo per visualizzare l'icona del cestino e fai clic sull'icona.
- Procedi come segue:
Fai clic su Crea o Esegui il deployment.
Riga di comando
Per impostare, aggiornare o rimuovere le variabili di ambiente di un servizio esistente, utilizza il comando gcloud run services update. Se necessario, puoi utilizzare uno qualsiasi dei seguenti flag:
Puoi specificare le variabili di ambiente durante il deployment di un servizio oppure aggiornarle dopo la creazione del servizio:
gcloud run deploy [SERVICE] --image IMAGE_URL --update-env-vars KEY1=VALUE1,KEY2=VALUE2 gcloud run services update SERVICE --update-env-vars KEY1=VALUE1,KEY2=VALUE2
- Sostituisci SERVICE con il nome del servizio.
- Sostituisci KEY1=VALUE1,KEY2=VALUE2 con l'elenco separato da virgole di nomi di variabili desiderate e relativi valori.
- Sostituisci IMAGE_URL con un riferimento all'immagine container, ad esempio
us-docker.pkg.dev/cloudrun/container/hello:latest
. Quando utilizzi Artifact Registry, l'URL ha il formato:REGION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
. .
YAML
Puoi scaricare e visualizzare le configurazioni di servizio esistenti utilizzando il comando
gcloud run services describe --format export
, che genera
risultati puliti in formato YAML.
Successivamente, potrai modificare i campi descritti di seguito e caricare il file YAML modificato utilizzando il comando gcloud run services replace
.
Assicurati di modificare solo i campi come documentato.
Per visualizzare e scaricare la configurazione:
gcloud run services describe SERVICE --format export > service.yaml
Aggiorna gli attributi
name
evalue
sotto l'attributoenv
incontainers:
:apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE spec: template: metadata: name: REVISION spec: containers: - image: IMAGE env: - name: KEY-1 value: VALUE-1 - name: KEY-N value: VALUE-N
Sostituisci
- SERVICE con il nome del tuo servizio Cloud Run
- IMAGE_URL con un riferimento all'immagine container, ad esempio
us-docker.pkg.dev/cloudrun/container/hello:latest
. Quando utilizzi Artifact Registry, l'URL ha il formato:REGION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
. - KEY-1, VALUE-1 con la variabile di ambiente e il valore. Se vuoi, aggiungi altre variabili e valori in base alle tue esigenze.
- REVISION con un nuovo nome di revisione o eliminalo (se presente). Se fornisci un nuovo nome della revisione, deve soddisfare i seguenti criteri:
- Inizia con
SERVICE-
- Contiene solo lettere minuscole, numeri e
-
- Non termina con
-
- Non superare i 63 caratteri.
- Inizia con
Sostituisci il servizio con la nuova configurazione utilizzando il seguente comando:
gcloud run services replace service.yaml
Terraform
Per informazioni su come applicare o rimuovere una configurazione Terraform, consulta Comandi Terraform di base.
Aggiungi quanto segue a una risorsa google_cloud_run_service
nella configurazione di Terraform, in template.spec.containers
. L'esempio seguente imposta la variabile di ambiente foo
su bar
e la variabile di ambiente baz
su quux
:
Per job Cloud Run
Per impostare una variabile di ambiente per un job Cloud Run:
Console
Se stai configurando un nuovo job, fai clic sulla scheda Job e compila la pagina delle impostazioni del job iniziale come preferisci. Se stai configurando un job esistente, fai clic sul job e poi su Modifica.
Fai clic su Container, variabili e secret, connessioni, sicurezza per espandere la pagina delle proprietà del job.
Fai clic sulla scheda Variabili.
- Procedi come segue:
- Se aggiungi una variabile, fai clic su Aggiungi variabile e specifica il nome che vuoi per la variabile e il suo 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 vuoi rimuovere una o più variabili di ambiente, passa il mouse sopra la casella di testo Valore della variabile che stai rimuovendo per visualizzare l'icona del cestino e fai clic sull'icona.
- Procedi come segue:
Fai clic su Crea o Aggiorna.
Riga di comando
Imposta, aggiorna o rimuovi le variabili di ambiente di un servizio esistente, utilizzando il comando gcloud runJob update. Se necessario, puoi utilizzare uno qualsiasi dei seguenti flag:
- --set-env-vars
- --update-env-vars
- --remove-env-vars
-
Puoi specificare 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 tuo job.
Sostituisci KEY1=VALUE1,KEY2=VALUE2 con l'elenco separato da virgole di nomi delle variabili desiderati e relativi valori.
Sostituisci IMAGE_URL con un riferimento all'immagine container, ad esempio
us-docker.pkg.dev/cloudrun/container/job:latest
.
YAML
Scarica e visualizza la configurazione del job esistente utilizzando il comando gcloud run jobs describe --format export
, che genera risultati puliti in formato YAML. Successivamente, modifica i campi descritti di seguito e carica il file YAML modificato utilizzando il comando gcloud run jobs replace
.
Assicurati di modificare solo i campi come documentato.
Per visualizzare e scaricare la configurazione:
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 in base alle tue esigenze.
Puoi anche specificare altre configurazioni come variabili di ambiente o limiti di memoria.
- Aggiorna gli attributi
Aggiorna la configurazione del job esistente:
gcloud run jobs replace job.yaml
Imposta molte variabili di ambiente
Se hai troppe variabili di ambiente che non possono essere facilmente elencate nel 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"
Carattere di escape
Poiché la virgola ,
viene utilizzata per suddividere le variabili di ambiente, se la variabile di ambiente contiene caratteri virgola come valori, devi eseguire l'escape di questi delimitatori specificando un carattere diverso per il delimitatore, ad esempio @
:
--set-env-vars "^@^KEY1=value1,value2,value3@KEY2=..."
Imposta le variabili di ambiente predefinite nel container
Puoi utilizzare l'istruzione ENV
in un Dockerfile per impostare valori predefiniti per le variabili di ambiente:
ENV KEY1=VALUE1,KEY2=VALUE2
Ordine di precedenza: container rispetto alle variabili di servizio o job
Se imposti una variabile di ambiente predefinita nel container e hai anche impostato una variabile di ambiente con lo stesso nome nel servizio o nel job Cloud Run, il valore impostato sul servizio ha la precedenza.
Visualizza le impostazioni delle variabili di ambiente
Per visualizzare le impostazioni delle variabili di ambiente correnti per il tuo servizio Cloud Run:
Console
Fai clic sul servizio che ti interessa per aprire la pagina Dettagli del servizio.
Fai clic sulla scheda Revisioni.
Nel riquadro dei dettagli a destra, l'impostazione delle variabili di ambiente è elencata nella scheda Variabili.
Riga di comando
Utilizza il comando seguente:
gcloud run services describe SERVICE
Individua l'impostazione delle variabili di ambiente nella configurazione restituita.
Per visualizzare le impostazioni delle variabili di ambiente correnti per il tuo job Cloud Run:
Console
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 di configurazione.
Riga di comando
Utilizza il comando seguente:
gcloud run jobs describe JOB_NAME
Individua l'impostazione delle variabili di ambiente nella configurazione restituita.
Codice di esempio
Per un esempio di codice che mostra come accedere alle variabili di ambiente nel codice, consulta il tutorial su gestione della configurazione sensibile con Secret Manager nel tutorial sull'autenticazione dell'utente finale.
Passaggi successivi
Puoi utilizzare le variabili di ambiente per impostare la configurazione di Buildpack. Per dettagli specifici per lingua, consulta la documentazione di Buildpacks per: