Configura le variabili di ambiente per le istanze

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:

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 esempio us-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

  1. 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
  2. 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 esempio us-docker.pkg.dev/cloudrun/container/hello:latest.
  3. 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 esempio us-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

  1. Scarica la configurazione YAML dell'istanza:

    gcloud beta run instances describe INSTANCE --format export > instance.yaml
  2. Modifica le variabili chiave (nome) e valore.

  3. 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: