Configura le variabili di ambiente
Puoi eseguire il deployment di coppie chiave/valore arbitrarie insieme a una Cloud Function. Queste coppie vengono rese disponibili per la funzione sotto forma di valore letterale variabili di ambiente, accessibili dal codice in fase di runtime o come informazioni di configurazione i buildpack di Google Cloud.
Le variabili di ambiente sono associate a una singola funzione e non sono visibili a con altre funzioni nel tuo progetto Google Cloud. Ogni variabile viene archiviata Cloud Functions si trova all'interno dello stesso ciclo di vita della funzione a cui sono associati.
Puoi aggiungere o rimuovere le variabili di ambiente di runtime utilizzando Google Cloud CLI o la console Google Cloud.
Impostazione delle variabili di ambiente di runtime
Utilizza questi metodi per stabilire nuove variabili o sostituire completamente quelle esistenti come la codifica one-hot delle variabili categoriche. Per apportare modifiche aggiuntive, utilizza la procedura di aggiornamento descritta nell'articolo sezione successiva.
gcloud
Per impostare una variabile di ambiente di runtime utilizzando Google Cloud CLI,
usa il flag --set-env-vars
al momento del deployment:
gcloud functions deploy FUNCTION_NAME --set-env-vars FOO=bar FLAGS ...
Puoi anche impostare più variabili di ambiente di runtime utilizzando un elenco separato da virgole:
gcloud functions deploy FUNCTION_NAME --set-env-vars FOO=bar,BAZ=boo FLAGS...
Se vuoi archiviare la configurazione in un file (ad es. nell'origine
), puoi utilizzare un file YAML insieme al flag --env-vars-file
:
gcloud functions deploy FUNCTION_NAME --env-vars-file .env.yaml FLAGS...
in cui i contenuti del file .env.yaml
sono:
FOO: bar
BAZ: boo
Negli esempi precedenti, FLAGS...
si riferisce ad altri
che passi durante il deployment della funzione. Per un
per il comando deploy
, consulta gcloud functions deploy
.
UI di Google Cloud Console
Puoi impostare le variabili di ambiente di runtime durante la creazione della funzione nel Console Google Cloud:
Apri la pagina Panoramica delle funzioni nella console Google Cloud:
Fai clic su Crea funzione.
Compila i campi obbligatori per la funzione.
Apri la sezione Impostazioni runtime, build e connessioni.
Seleziona la scheda Runtime.
Nella sezione Variabili di ambiente di runtime, fai clic su Aggiungi variabile. e aggiungi il nome e il valore.
Per istruzioni su come aggiungere variabili di ambiente a una , vedi la funzione Aggiornamento delle variabili di ambiente di runtime.
Aggiornamento delle variabili di ambiente di runtime
Puoi anche aggiornare le variabili di ambiente di runtime per le funzioni esistenti. Si tratta di un un approccio non distruttivo che modifica o aggiunge variabili di ambiente di runtime, ma non elimina.
gcloud
Per aggiornare una variabile utilizzando Google Cloud CLI, utilizza la classe
--update-env-vars
flag al momento del deployment:
gcloud functions deploy FUNCTION_NAME --update-env-vars FOO=bar
Puoi anche aggiornare più variabili di ambiente di runtime utilizzando un elenco separato da virgole:
gcloud functions deploy FUNCTION_NAME --update-env-vars FOO=bar,BAZ=boo
UI di Google Cloud Console
Per aggiornare le variabili di ambiente di runtime utilizzando la console Google Cloud:
Apri la pagina Panoramica delle funzioni nella console Google Cloud:
Fai clic su una funzione esistente per passare alla relativa pagina dei dettagli.
Fai clic su Modifica.
Apri la sezione Impostazioni runtime, build e connessioni.
Seleziona la scheda Runtime.
Apporta le modifiche nella sezione Variabili di ambiente di runtime.
Eliminazione delle variabili di ambiente di runtime
gcloud
Se vuoi rimuovere selettivamente le variabili di ambiente di runtime, puoi utilizzare
--remove-env-vars
flag al momento del deployment:
gcloud functions deploy FUNCTION_NAME --remove-env-vars FOO,BAZ
In alternativa, puoi cancellare tutte le variabili di ambiente di runtime impostate in precedenza
con il flag --clear-env-vars
:
gcloud functions deploy FUNCTION_NAME --clear-env-vars
UI di Google Cloud Console
Per eliminare le variabili di ambiente di runtime utilizzando la console Google Cloud:
Apri la pagina Panoramica delle funzioni nella console Google Cloud:
Fai clic su una funzione esistente per passare alla relativa pagina dei dettagli.
Fai clic su Modifica.
Apri la sezione Impostazioni runtime, build e connessioni.
Seleziona la scheda Runtime.
Nella sezione Variabili di ambiente di runtime, fai clic sulla accanto alla coppia chiave/valore per eliminarla.
Variabili di ambiente di runtime impostate automaticamente
In questa sezione sono elencate le variabili di ambiente di runtime che vengono impostate automaticamente.
Chiave | Descrizione |
---|---|
FUNCTION_TARGET |
Riservato: la funzione da eseguire. |
FUNCTION_SIGNATURE_TYPE |
Riservato: il tipo della funzione http per HTTP
e event per le funzioni basate su eventi.
|
K_SERVICE |
Riservato: il nome della risorsa della funzione. |
K_REVISION |
Riservato: l'identificatore di versione della funzione. |
PORT |
Riservato: la porta su cui viene richiamata la funzione. |
gcloud functions deploy envVarMemory \
--runtime nodejs10 \
--set-env-vars FUNCTION_MEMORY_MB=2Gi \
--memory 2Gi \
--trigger-http
Impostazione e recupero delle variabili di ambiente di runtime: esempio
Imposta la variabile di ambiente di runtime:
Node.js
gcloud functions deploy envVar \ --runtime nodejs20 \ --set-env-vars FOO=bar \ --trigger-http
Utilizza la --runtime
per specificare l'ID runtime di un
versione Node.js supportata per l'esecuzione
la tua funzione.
Python
gcloud functions deploy env_vars \ --runtime python312 \ --set-env-vars FOO=bar \ --trigger-http
Utilizza la --runtime
per specificare l'ID runtime di un
versione Python supportata per l'esecuzione
la tua funzione.
Vai
gcloud functions deploy EnvVar \ --runtime go121 \ --set-env-vars FOO=bar \ --trigger-http
Utilizza la --runtime
per specificare l'ID runtime di un
versione Go supportata per l'esecuzione
la tua funzione.
Java
gcloud functions deploy java-envVar-function \ --entry-point functions.EnvVars \ --runtime java17 \ --memory 512MB \ --set-env-vars FOO=bar \ --trigger-http
Utilizza la --runtime
per specificare l'ID runtime di un
versione Java supportata per l'esecuzione
la tua funzione.
C#
gcloud functions deploy csharp-envVar-function \ --entry-point EnvironmentVariables.Function \ --runtime dotnet6 \ --set-env-vars FOO=bar \ --trigger-http
Utilizza la --runtime
per specificare l'ID runtime di un
versione .NET supportata per l'esecuzione
la tua funzione.
Ruby
gcloud functions deploy env_vars --runtime ruby32 \ --set-env-vars FOO=bar \ --trigger-http
Utilizza la --runtime
per specificare l'ID runtime di un
versione Ruby supportata per l'esecuzione
la tua funzione.
PHP
gcloud functions deploy envVar --runtime php82 \ --set-env-vars FOO=bar \ --trigger-http
Utilizza la --runtime
per specificare l'ID runtime di un
versione PHP supportata per l'esecuzione
la tua funzione.
In fase di runtime, accedi alle variabili in modo programmatico:
Node.js
In Node.js utilizza la proprietà process.env
per accedere alle variabili di ambiente di runtime:
Python
In Python, utilizza os.environ
per accedere alle variabili di ambiente di runtime:
Vai
In Go, utilizza os.Getenv()
per accedere alle variabili di ambiente di runtime:
Java
In Java, utilizza System.getenv
per accedere alle variabili di ambiente di runtime:
C#
In fase di runtime, le variabili di ambiente sono accessibili medianteEnvironment.GetEnvironmentVariable
in C#:
Ruby
In fase di runtime, le variabili di ambiente sono accessibili medianteENV
in Ruby:
PHP
In fase di runtime, le variabili di ambiente sono accessibili mediante Funzionegetenv
:
Utilizzo delle variabili di ambiente di build
Puoi anche impostare variabili di ambiente di build per i runtime che supportano buildpacks.
Le variabili di ambiente di build sono coppie chiave/valore distribuite insieme a che ti consente di passare le informazioni di configurazione ai buildpack. Per Ad esempio, puoi personalizzare le opzioni del compilatore. Puoi aggiungere o rimuovere queste variabili di ambiente di build utilizzando Google Cloud CLI o la UI della console Google Cloud.
Impostazione delle variabili di ambiente di build
Utilizza questi metodi per stabilire nuove variabili o sostituire completamente quelle esistenti
come la codifica one-hot
delle variabili categoriche. Per apportare modifiche aggiuntive, utilizza il processo di aggiornamento (il
--update-build-env-vars
in gcloud
) descritto nella prossima sezione.
gcloud
Per impostare una variabile utilizzando Google Cloud CLI, utilizza la classe
--set-build-env-vars
flag al momento del deployment:
gcloud beta functions deploy FUNCTION_NAME --set-build-env-vars FOO=bar FLAGS...
Puoi anche impostare più variabili di ambiente di build utilizzando un elenco separato da virgole:
gcloud functions deploy FUNCTION_NAME --set-build-env-vars FOO=bar,BAZ=boo FLAGS...
Se vuoi archiviare la configurazione in un file (ad es. sotto il controllo del codice sorgente),
puoi utilizzare un file YAML insieme al flag --build-env-vars-file
:
gcloud functions deploy FUNCTION_NAME --build-env-vars-file FILE_NAME.yaml FLAGS...
in cui i contenuti del file *.yaml
sono:
FOO: bar
BAZ: boo
Negli esempi precedenti, FLAGS...
si riferisce ad altre opzioni
che passi durante il deployment della funzione. Per un riferimento completo
per il comando deploy
, vedi gcloud beta functions deploy
.
UI di Google Cloud Console
Puoi anche impostare le variabili di ambiente di compilazione durante la creazione della funzione nella Console Google Cloud:
Apri la pagina Panoramica delle funzioni nella console Google Cloud:
Fai clic su Crea funzione.
Compila i campi obbligatori per la funzione.
Apri la sezione Impostazioni runtime, build e connessioni.
Seleziona la scheda Crea.
Nella sezione Crea variabili di ambiente, fai clic su Aggiungi variabile. e aggiungi il nome e il valore.
Aggiornamento delle variabili di ambiente di build
Puoi anche aggiornare le variabili di ambiente di build per le funzioni esistenti. Si tratta di un un approccio non distruttivo che cambia o aggiunge variabili di ambiente di creazione, ma non elimina.
gcloud
Per impostare una variabile utilizzando Google Cloud CLI, utilizza la classe
--update-build-env-vars
flag al momento del deployment:
gcloud functions deploy FUNCTION_NAME --update-build-env-vars FOO=bar
Puoi anche aggiornare più variabili di ambiente di build utilizzando un elenco separato da virgole:
gcloud functions deploy FUNCTION_NAME --update-build-env-vars FOO=bar,BAZ=boo
UI di Google Cloud Console
Per aggiornare le variabili di ambiente di build utilizzando la console Google Cloud:
Apri la pagina Panoramica delle funzioni nella console Google Cloud:
Fai clic su una funzione esistente per passare alla relativa pagina dei dettagli.
Fai clic su Modifica.
Apri la sezione Impostazioni runtime, build e connessioni.
Seleziona la scheda Crea.
Apporta le modifiche nella sezione Crea variabili di ambiente.
Eliminazione delle variabili di ambiente di build
gcloud
Se vuoi rimuovere selettivamente le variabili di ambiente di build, puoi utilizzare il metodo
--remove-build-env-vars
flag al momento del deployment:
gcloud functions deploy FUNCTION_NAME --remove-build-env-vars FOO,BAZ
In alternativa, puoi cancellare tutte le variabili di ambiente di build impostate in precedenza con
--clear-build-env-vars
flag:
gcloud functions deploy FUNCTION_NAME --clear-build-env-vars
UI di Google Cloud Console
Per eliminare le variabili di ambiente di build utilizzando la console Google Cloud:
Apri la pagina Panoramica delle funzioni nella console Google Cloud:
Fai clic su una funzione esistente per passare alla relativa pagina dei dettagli.
Fai clic su Modifica.
Apri la sezione Impostazioni runtime, build e connessioni.
Seleziona la scheda Crea.
Nella sezione Crea variabili di ambiente, fai clic sulla accanto alla coppia chiave/valore per eliminarla.
Ciclo di vita variabile
Tutte le variabili di ambiente sono associate a un deployment di una Cloud Function e possono essere impostata o modificata solo con un deployment. Se un deployment non riesce per qualsiasi motivo, eventuali modifiche alle variabili di ambiente non verranno applicate. Variabile di ambiente e modifiche richiedono un deployment riuscito.
Best practice e variabili di ambiente riservate
Alcune variabili di ambiente aggiuntive vengono impostate automaticamente a seconda
il runtime utilizzato dalla funzione. che si basano sul sistema operativo del runtime
(ad esempio, DEBIAN_FRONTEND
, SHLVL
o PATH
) e il runtime del linguaggio
(ad esempio NODE_ENV
, VIRTUAL_ENV
o GOPATH
).
Variabili di ambiente fornite dall'ambiente (diverse da quelle elencate in Variabili di ambiente impostate automaticamente. potrebbero cambiare nelle versioni future del runtime. Come best practice, ti consigliamo di non dipendi o modifichi le variabili di ambiente che non hai impostato in modo esplicito.
La modifica delle variabili di ambiente fornite dall'ambiente può a risultati imprevedibili. Tentativi di modificare queste variabili di ambiente bloccare o, peggio, causare conseguenze indesiderate come funzioni che non può iniziare. Come best practice, ti consigliamo di aggiungere un prefisso a qualsiasi variabile di ambiente con una chiave univoca per evitare conflitti.
Infine, non puoi utilizzare le seguenti variabili di ambiente:
Chiave | Descrizione |
---|---|
Vuoto ('') | Le chiavi non possono essere una stringa vuota. |
= |
Le chiavi non possono contenere il carattere '=' . |
X_GOOGLE_ |
Le chiavi non possono contenere il prefisso X_GOOGLE_ . |
Limiti di dimensioni
Il numero totale di byte utilizzati dai nomi e dai valori variabile di ambiente di runtime per funzione individuale è limitata a 32 KiB. Non ci sono limiti specifici su singoli valori o chiavi all'interno di questa capacità complessiva.
Per le variabili di ambiente di build, è possibile definire fino a 100 variabili,
stringa di definizione foo=bar
limitata a 64 KiB.
Gestione dei secret
Le variabili di ambiente possono essere utilizzate per la configurazione della funzione, ma non sono consigliato come metodo per archiviare secret come le credenziali del database o le chiavi API. Questi valori più sensibili devono essere archiviati sia all'esterno del codice sorgente, esterne alle variabili di ambiente. Alcuni ambienti di esecuzione o l'uso alcuni framework possono comportare l'invio dei contenuti delle variabili di ambiente ai log e l'archiviazione di credenziali sensibili in file YAML, script di deployment non è consigliato sotto il controllo del codice sorgente.
Per archiviare i secret, ti consigliamo di utilizzare Secret Manager. Per configurare Cloud Functions per accedere ai secret archiviati in Secret Manager, consulta Configurare i secret. Tieni presente che non esiste un cloud Integrazione specifica di funzioni con Cloud KMS.
Portabilità
È possibile che le variabili di ambiente che attualmente funzionano con La Cloud Function non funziona con un ambiente di runtime diverso, ad esempio in una in un linguaggio diverso o con determinati strumenti o librerie. È anche possibile che non saranno accettati da un'altra piattaforma.
Per evitarli, segui le
Standard POSIX per le variabili di ambiente.
Se usi la console Google Cloud per modificare le variabili,
La console Google Cloud ti avvisa ogni volta che definisci una variabile che potrebbe
problemi di portabilità (ma non ne impedirà il deployment). Come regola generale,
consiglia che le chiavi variabile di ambiente siano costituite esclusivamente da lettere maiuscole,
cifre e <underscore>
(_
), come definito nella
Set di caratteri portatile
e che non inizino con un numero.