Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Usa le variabili di ambiente Lambda per configurare i valori nel codice
È possibile utilizzare le variabili di ambiente per regolare il comportamento della funzione senza aggiornare il codice. Una variabile di ambiente è una coppia di stringhe archiviata nella configurazione specifica della versione di una funzione. Il runtime Lambda rende le variabili di ambiente disponibili per il codice e imposta variabili di ambiente aggiuntive che contengono informazioni sulla richiesta di funzione e invocazione.
Nota
Per aumentare la sicurezza, consigliamo di utilizzare AWS Secrets Manager al posto delle variabili di ambiente per archiviare le credenziali del database e altre informazioni sensibili come API chiavi o token di autorizzazione. Per ulteriori informazioni, consulta Creare e gestire segreti con. AWS Secrets Manager
Le variabili di ambiente non vengono valutate prima dell'invocazione della funzione. Qualsiasi valore definito è considerato una stringa letterale e non espanso. Eseguire la valutazione della variabile nel codice funzione.
Puoi configurare le variabili di ambiente in Lambda utilizzando la console Lambda, (), AWS Command Line Interface AWS Serverless Application Model (AWS CLI) o utilizzando un.AWS SAM AWS SDK
Variabili di ambiente di runtime definite
I tempi di esecuzione Lambda impostano diverse variabili di ambiente durante l'inizializzazione. La maggior parte delle variabili di ambiente fornisce informazioni sulla funzione o sul runtime. Le chiavi per queste variabili di ambiente sono riservate e non possono essere impostate nella configurazione della funzione.
Variabili d'ambiente riservate
-
_HANDLER
: la posizione del gestore configurata nella funzione. -
_X_AMZN_TRACE_ID
: l'intestazione di traccia X-Ray. Questa variabile di ambiente cambia a ogni invocazione.-
Questa variabile di ambiente non è definita per i runtime solo per il sistema operativo (la famiglia di runtime
provided
). Puoi impostare_X_AMZN_TRACE_ID
per runtime personalizzati utilizzando l'intestazione di rispostaLambda-Runtime-Trace-Id
dal Chiamata successiva. -
Per le versioni di runtime Java 17 e successive, questa variabile di ambiente non viene utilizzata. Lambda archivia invece le informazioni di tracciamento nella proprietà di sistema
com.amazonaws.xray.traceHeader
.
-
-
AWS_DEFAULT_REGION
— L'impostazione predefinita Regione AWS in cui viene eseguita la funzione Lambda. -
AWS_REGION
— Il Regione AWS luogo in cui viene eseguita la funzione Lambda. Se immesso, questo valore sovrascriveAWS_DEFAULT_REGION
.-
Per ulteriori informazioni sull'utilizzo delle variabili di Regione AWS ambiente con AWS SDKs, vedete AWS Region nella AWS SDKsand Tools Reference Guide.
-
-
AWS_EXECUTION_ENV
: l'identificatore di runtime, preceduto daAWS_Lambda_
, ad esempioAWS_Lambda_java8
. Questa variabile di ambiente non è definita per i runtime solo per il sistema operativo (la famiglia di runtimeprovided
). -
AWS_LAMBDA_FUNCTION_NAME
: il nome della funzione. -
AWS_LAMBDA_FUNCTION_MEMORY_SIZE
: la quantità di memoria disponibile per la funzione in MB. -
AWS_LAMBDA_FUNCTION_VERSION
: la versione della funzione in esecuzione. -
AWS_LAMBDA_INITIALIZATION_TYPE
: il tipo di inizializzazione della funzione, che èon-demand
,provisioned-concurrency
osnap-start
. Per informazioni, consulta Configurazione della simultaneità con provisioning o Migliorare le prestazioni di avvio con Lambda SnapStart. -
AWS_LAMBDA_LOG_GROUP_NAME
,AWS_LAMBDA_LOG_STREAM_NAME
— Il nome del gruppo e dello stream Amazon CloudWatch Logs per la funzione. Le variabili di AWS_LAMBDA_LOG_STREAM_NAME ambiente AWS_LAMBDA_LOG_GROUP_NAME e non sono disponibili nelle funzioni Lambda SnapStart . -
AWS_ACCESS_KEY
,AWS_ACCESS_KEY_ID
,AWS_SECRET_ACCESS_KEY
,AWS_SESSION_TOKEN
: le chiavi di accesso ottenute dal ruolo di esecuzione della funzione. -
AWS_LAMBDA_RUNTIME_API
— (Runtime personalizzato) L'host e la porta del runtime API. -
LAMBDA_TASK_ROOT
: il percorso del codice della funzione Lambda. -
LAMBDA_RUNTIME_DIR
: il percorso delle librerie di runtime.
Le seguenti variabili di ambiente aggiuntive non sono riservate e possono essere estese nella configurazione della funzione.
Variabili d'ambiente non riservate
-
LANG
– Le impostazioni locali del runtime (en_US.UTF-8
). -
PATH
: il percorso di esecuzione (/usr/local/bin:/usr/bin/:/bin:/opt/bin
). -
LD_LIBRARY_PATH
: il percorso della libreria di sistema (/var/lang/lib:/lib64:/usr/lib64:$LAMBDA_RUNTIME_DIR:$LAMBDA_RUNTIME_DIR/lib:$LAMBDA_TASK_ROOT:$LAMBDA_TASK_ROOT/lib:/opt/lib
). -
NODE_PATH
– (Node.js) Il percorso della libreria Node.js (/opt/nodejs/node12/node_modules/:/opt/nodejs/node_modules:$LAMBDA_RUNTIME_DIR/node_modules
). -
PYTHONPATH
– (Python 2.7, 3.6, 3.8) Il percorso della libreria Python ($LAMBDA_RUNTIME_DIR
). -
GEM_PATH
– (Ruby) Il percorso della libreria Ruby ($LAMBDA_TASK_ROOT/vendor/bundle/ruby/2.5.0:/opt/ruby/gems/2.5.0
). -
AWS_XRAY_CONTEXT_MISSING
— Per il tracciamento a raggi X, Lambda lo imposta per evitare diLOG_ERROR
generare errori di runtime dall'X-Ray. SDK -
AWS_XRAY_DAEMON_ADDRESS
– Per il tracciamento X-Ray, l'indirizzo IP e la porta del daemon X-Ray. -
AWS_LAMBDA_DOTNET_PREJIT
— Per. NET6 e. NET7 runtime, imposta questa variabile per abilitare o disabilitare. NETottimizzazioni di runtime specifiche. I valori includonoalways
,never
eprovisioned-concurrency
. Per ulteriori informazioni, consulta Configurazione della concorrenza fornita per una funzione. -
TZ
: il fuso orario dell'ambiente (:UTC
). L'ambiente di esecuzione utilizza NTP per sincronizzare l'orologio di sistema.
I valori di esempio mostrati riflettono i runtime più recenti. La presenza di variabili specifiche o dei loro valori può variare nei runtime precedenti.
Scenario di esempio per le variabili di ambiente
È possibile utilizzare le variabili di ambiente per personalizzare il comportamento delle funzioni nell'ambiente di test e nell'ambiente di produzione. Ad esempio, puoi creare due funzioni con stesso codice ma configurazione diversa. Una funzione si connette a un database di test e l'altra a un database di produzione. In questo caso, puoi utilizzare le variabili di ambiente per passare alla funzione il nome host e altri dettagli di connessione per il database.
Nell'esempio seguente viene illustrato come definire l'host del database e il nome del database come variabili di ambiente.
Se si desidera che l'ambiente di test generi più informazioni di debug rispetto all'ambiente di produzione, è possibile impostare una variabile di ambiente per configurare l'ambiente di test in modo da utilizzare una registrazione più dettagliata o una traccia più dettagliata.