Questa pagina descrive come configurare le variabili di ambiente per l'istanza Cloud Run.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per configurare ed eseguire il deployment di istanze Cloud Run, chiedi all'amministratore di concederti i seguenti ruoli IAM:
- Sviluppatore Cloud Run (
roles/run.developer) sull'istanza Cloud Run - Utente account di servizio (
roles/iam.serviceAccountUser) sull'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 la tua istanza 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 un'istanza Cloud Run utilizzando Google Cloud CLI o YAML:
gcloud
Per specificare le variabili di ambiente durante la creazione dell'istanza, utilizza il
--set-env-vars flag:
gcloud beta run instances create INSTANCE --image IMAGE_URL --set-env-vars KEY1=VALUE1,KEY2=VALUE2
Sostituisci quanto segue:
- INSTANCE: il nome dell'istanza
IMAGE_URL: un riferimento all'immagine container, ad esempious-docker.pkg.dev/cloudrun/container/hello:latest.- KEY1=VALUE1,KEY2=VALUE2: l'elenco separato da virgole di nomi e valori delle variabili
Per ulteriori informazioni su come impostare più variabili di ambiente o utilizzare i caratteri di escape, consulta Impostare più variabili di ambiente.
YAML
Se stai creando una nuova istanza, salta questo passaggio. Se stai aggiornando un'istanza esistente, scarica la relativa configurazione YAML:
gcloud beta run instances describe INSTANCE --format export > instance.yaml
L'esempio seguente contiene la configurazione YAML:
apiVersion: run.googleapis.com/v1 kind: Instance metadata: name: INSTANCE annotations: run.googleapis.com/launch-stage: BETA spec: containers: - env: - name: KEY value: VALUE - name: KEY2 value: VALUE2 image: IMAGE
Sostituisci quanto segue:
- INSTANCE: il nome dell'istanza Cloud Run.
- KEY e VALUE: il nome e i valori delle variabili di ambiente.
IMAGE_URL: un riferimento all'immagine container, ad esempious-docker.pkg.dev/cloudrun/container/hello:latest.
Crea o aggiorna l'istanza utilizzando il seguente comando:
gcloud beta run instances replace instance.yaml
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 di container e istanza
Se imposti una variabile di ambiente predefinita nel container e anche imposti una variabile di ambiente con lo stesso nome sull' istanza Cloud Run, il valore impostato sull'istanza 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
gcloud
Per specificare più variabili di ambiente dal file .env, esegui il comando seguente:
gcloud beta run instances create INSTANCE --image IMAGE_URL --env-vars-file=ENV_FILE_PATH
Sostituisci quanto segue:
- INSTANCE: il nome dell'istanza.
IMAGE_URL: un riferimento all'immagine container, ad esempious-docker.pkg.dev/cloudrun/container/hello: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"
Caratteri di escape della virgola
Poiché il carattere virgola, viene utilizzato per dividere le variabili di ambiente, se la
variabile di ambiente contiene caratteri virgola 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 runtime per le istanze esistenti. Si tratta di un approccio non distruttivo che modifica o aggiunge variabili di ambiente runtime, ma non le elimina.
Puoi aggiornare le variabili di ambiente utilizzando Google Cloud CLI o YAML:
gcloud
Per aggiornare le variabili di ambiente di un'istanza esistente, utilizza il
--update-env-vars
flag:
gcloud beta run instances update INSTANCE --update-env-vars KEY1=VALUE1,KEY2=VALUE2
Sostituisci quanto segue:
- INSTANCE: il nome dell'istanza
- KEY1=VALUE1,KEY2=VALUE2: l'elenco separato da virgole di nomi e valori delle variabili
YAML
Scarica la configurazione YAML dell'istanza:
gcloud beta run instances describe INSTANCE --format export > instance.yaml
Modifica le variabili chiave (nome) e valore.
Aggiorna l'istanza utilizzando il seguente comando:
gcloud beta run instances replace instance.yaml
Elimina le variabili di ambiente
gcloud
Per rimuovere selettivamente le variabili di ambiente da un'istanza esistente, utilizza
il --remove-env-vars
flag:
gcloud beta run instances update INSTANCE --remove-env-vars KEY1,KEY2
Sostituisci quanto segue:
- INSTANCE: il nome dell'istanza
- KEY1,KEY2: l'elenco separato da virgole di nomi delle variabili
In alternativa, cancella tutte le variabili di ambiente impostate in precedenza
con il --clear-env-vars
flag:
gcloud beta run instances update INSTANCE --clear-env-vars
Sostituisci INSTANCE con il nome dell'istanza.
Codice campione
Per un esempio di codice che mostra come accedere alle variabili di ambiente nel codice, consulta Gestire la configurazione sensibile con Secret Manager nel tutorial sull'autenticazione degli utenti finali.
Passaggi successivi
Puoi utilizzare le variabili di ambiente per impostare una configurazione di buildpack. Per dettagli specifici per lingua, consulta la documentazione di buildpack per: