Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Sie können Umgebungsvariablen verwenden, um das Verhalten Ihrer Funktion anzupassen, ohne Code zu aktualisieren. Eine Umgebungsvariable ist ein Zeichenfolgenpaar, das in der versionsspezifischen Konfiguration einer Funktion gespeichert ist. Die Lambda-Laufzeit stellt Umgebungsvariablen für den Code zur Verfügung und legt zusätzliche Umgebungsvariablen mit Informationen über die Funktion und die Aufrufanforderung fest.
Anmerkung
Um die Sicherheit zu erhöhen, empfehlen wir, AWS Secrets Manager anstelle von Umgebungsvariablen Datenbankanmeldedaten und andere vertrauliche Informationen wie API-Schlüssel oder Autorisierungstoken zu speichern. Weitere Informationen finden Sie unter Verwenden von AWS Secrets Manager Geheimnissen in AWS Lambda Funktionen.
Umgebungsvariablen werden vor dem Funktionsaufruf nicht ausgewertet. Jeder von Ihnen definierte Wert wird als Literalzeichenfolge betrachtet und nicht erweitert. Führen Sie die Variablenauswertung in Ihrem Funktionscode durch.
Lambda-Umgebungsvariablen erstellen
Sie können Umgebungsvariablen in Lambda mithilfe der Lambda-Konsole, der AWS Command Line Interface (AWS CLI), AWS Serverless Application Model (AWS SAM) oder mithilfe eines AWS SDK konfigurieren.
Sie definieren Umgebungsvariablen für die unveröffentlichte Version Ihrer Funktion. Wenn Sie eine Version veröffentlichen, werden die Umgebungsvariablen für diese Version zusammen mit anderen versionsspezifischen Konfigurationseinstellungen gesperrt.
Sie erstellen eine Umgebungsvariable für Ihre Funktion, indem Sie einen Schlüssel und einen Wert definieren. Ihre Funktion verwendet den Namen des Schlüssels, um den Wert der Umgebungsvariablen abzurufen.
So legen Sie Umgebungsvariablen in der Lambda-Konsole fest
Öffnen Sie die Seite Funktionen
der Lambda-Konsole. -
Wählen Sie eine Funktion aus.
-
Wählen Sie den Tab Configuration (Konfiguration) und dann Environment variables (Umgebungsvariablen) aus.
-
Wählen Sie unter Environment variables (Umgebungsvariablen) die Option Edit (Bearbeiten).
-
Wählen Sie Umgebungsvariablen hinzufügen aus.
-
Geben Sie einen Schlüssel und einen Wert ein.
Voraussetzungen
-
Schlüssel beginnen mit einem Buchstaben und bestehen aus mindestens zwei Zeichen.
-
Schlüssel enthalten nur Buchstaben, Zahlen und den Unterstrich (
_
). -
Schlüssel sind nicht Lambda vorbehalten.
-
Die Gesamtgröße aller Umgebungsvariablen überschreitet nicht 4 KB.
-
-
Wählen Sie Save (Speichern) aus.
Generieren einer Liste von Umgebungsvariablen im Konsolen-Code-Editor
Sie können im Lambda-Code-Editor eine Liste von Umgebungsvariablen generieren. So können Sie beim Programmieren schnell auf Ihre Umgebungsvariablen verweisen.
-
Wählen Sie die Registerkarte Code.
-
Scrollen Sie im Code-Editor nach unten zum Abschnitt UMGEBUNGSVARIABLEN. Bestehende Umgebungsvariablen sind hier aufgelistet:
-
Um neue Umgebungsvariablen zu erstellen, wählen Sie das Pluszeichen (
):
Umgebungsvariablen bleiben verschlüsselt, wenn sie im Code-Editor der Konsole aufgeführt werden. Wenn Sie Verschlüsselungshilfen für die Verschlüsselung während der Übertragung aktiviert haben, bleiben diese Einstellungen unverändert. Weitere Informationen finden Sie unter Sicherung von Lambda-Umgebungsvariablen.
Die Liste der Umgebungsvariablen ist schreibgeschützt und nur auf der Lambda-Konsole verfügbar. Diese Datei ist nicht enthalten, wenn Sie das ZIP-Dateiarchiv der Funktion herunterladen, und Sie können keine Umgebungsvariablen hinzufügen, indem Sie diese Datei hochladen.
Beispielszenario für Umgebungsvariablen
Sie können Umgebungsvariablen verwenden, um das Funktionsverhalten in Ihrer Testumgebung und Produktionsumgebung anzupassen. Zum Beispiel können Sie zwei Funktionen mit demselben Code aber mit unterschiedlichen Konfigurationen erstellen. Die eine Funktion stellt eine Verbindung mit einer Testdatenbank und die andere mit einer Produktionsdatenbank her. In diesem Fall verwenden Sie Umgebungsvariablen, um den Hostnamen und andere Verbindungsdetails für die Datenbank an die Funktion zu übergeben.
Das folgende Beispiel zeigt, wie der Datenbankhost und der Datenbankname als Umgebungsvariablen definiert werden.

Wenn Ihre Testumgebung mehr Debugging-Informationen generieren soll als die Produktionsumgebung, können Sie eine Umgebungsvariable festlegen, um Ihre Testumgebung so zu konfigurieren, dass eine ausführlichere Protokollierung oder eine detailliertere Ablaufverfolgung verwendet wird.
In Ihrer Testumgebung könnten Sie beispielsweise eine Umgebungsvariable mit dem Schlüssel LOG_LEVEL
und einem Wert festlegen, der die Protokollebene von Debug oder Trace angibt. Im Code Ihrer Lambda-Funktion können Sie dann diese Umgebungsvariable verwenden, um die Protokollebene festzulegen.
Die folgenden Codebeispiele in Python und Node.js veranschaulichen, wie Sie dies erreichen können. In diesen Beispielen wird davon ausgegangen, dass Ihre Umgebungsvariable den Wert DEBUG
in Python oder debug
Node.js hat.
Beispiel Python-Code zum Einstellen der Protokollebene
import os
import logging
# Initialize the logger
logger = logging.getLogger()
# Get the log level from the environment variable and default to INFO if not set
log_level = os.environ.get('LOG_LEVEL', 'INFO')
# Set the log level
logger.setLevel(log_level)
def lambda_handler(event, context):
# Produce some example log outputs
logger.debug('This is a log with detailed debug information - shown only in test environment')
logger.info('This is a log with standard information - shown in production and test environments')
Abrufen von Lambda-Umgebungsvariablen
Umgebungsvariablen in Ihrem Funktionscode können Sie mit der Standardmethode für Ihre Programmiersprache abrufen.
let region = process.env.AWS_REGION
Lambda speichert Umgebungsvariablen sicher, indem sie im Ruhezustand verschlüsselt werden. Sie können Lambda so konfigurieren, dass es einen anderen Verschlüsselungsschlüssel verwendet, Umgebungsvariablenwerte auf der Clientseite verschlüsselt oder Umgebungsvariablen in einer AWS CloudFormation Vorlage mit festlegen. AWS Secrets Manager
Definierte Laufzeitumgebungsvariablen
Lambda Laufzeiten setzen mehrere Umgebungsvariablen während der Initialisierung. Die meisten Umgebungsvariablen stellen Informationen über die Funktion oder Laufzeit bereit. Die Schlüssel für diese Umgebungsvariablen sind reserviert und können nicht in der Funktionskonfiguration gesetzt werden.
Reservierte Umgebungsvariablen
-
_HANDLER
– Der für die Funktion konfigurierte Handler-Speicherort. -
_X_AMZN_TRACE_ID
– Die X-Ray-Tracing-Header. Diese Umgebungsvariable ändert sich bei jedem Aufruf.-
Diese Umgebungsvariable ist nicht für reine OS-Laufzeiten (die
provided
-Laufzeitfamilie) definiert. Sie können_X_AMZN_TRACE_ID
für benutzerdefinierte Laufzeiten einstellen, indem Sie den Antwort-HeaderLambda-Runtime-Trace-Id
der Nächster Aufruf verwenden. -
Für die Java-Laufzeit-Versionen 17 und höher wird diese Umgebungsvariable nicht verwendet. Stattdessen speichert Lambda Ablaufverfolgungsinformationen in der Systemeigenschaft
com.amazonaws.xray.traceHeader
.
-
-
AWS_DEFAULT_REGION
— Die Standardeinstellung AWS-Region , in der die Lambda-Funktion ausgeführt wird. -
AWS_REGION
— Der AWS-Region Ort, an dem die Lambda-Funktion ausgeführt wird. Wenn eingegeben, überschreibt dieser Wert dieAWS_DEFAULT_REGION
.-
Weitere Informationen zur Verwendung der AWS-Region Umgebungsvariablen mit AWS SDKs finden Sie unter AWS Region im Referenzhandbuch für Tools AWS SDKs und Tools.
-
-
AWS_EXECUTION_ENV
– Die Laufzeit-Kennung mit dem PräfixAWS_Lambda_
z. B.AWS_Lambda_java8
. Diese Umgebungsvariable ist nicht für reine OS-Laufzeiten (dieprovided
-Laufzeitfamilie) definiert. -
AWS_LAMBDA_FUNCTION_NAME
– Der Name der Funktion. -
AWS_LAMBDA_FUNCTION_MEMORY_SIZE
– Die Menge des für die Funktion verfügbaren Speichers in MB. -
AWS_LAMBDA_FUNCTION_VERSION
– Die Version der Funktion, die gerade ausgeführt wird. -
AWS_LAMBDA_INITIALIZATION_TYPE
– Der Initialisierungstyp der Funktion, deron-demand
,provisioned-concurrency
odersnap-start
ist. Weitere Informationen finden Sie unter Konfigurieren der bereitgestellten Gleichzeitigkeit oder unter Verbesserung der Startleistung mit Lambda SnapStart. -
AWS_LAMBDA_LOG_GROUP_NAME
,AWS_LAMBDA_LOG_STREAM_NAME
— Der Name der Amazon CloudWatch Logs-Gruppe und des Streams für die Funktion. DieAWS_LAMBDA_LOG_STREAM_NAME
Umgebungsvariablen AWS_LAMBDA_LOG_GROUP_NAME und sind in SnapStart Lambda-Funktionen nicht verfügbar. -
AWS_ACCESS_KEY
,AWS_ACCESS_KEY_ID
,AWS_SECRET_ACCESS_KEY
,AWS_SESSION_TOKEN
– Die Zugriffsschlüssel, die über die Ausführungsrolle der Funktion bezogen wurden. -
AWS_LAMBDA_RUNTIME_API
– (Benutzerdefinierte Laufzeit) Host und Port der Laufzeit-API. -
LAMBDA_TASK_ROOT
– Der Pfad zu Ihrem Lambda-Funktionscode. -
LAMBDA_RUNTIME_DIR
– Der Pfad zu Laufzeitbibliotheken.
Die folgenden zusätzlichen Umgebungsvariablen sind nicht vorbehalten und können in Ihrer Funktionskonfiguration erweitert werden.
Nicht reservierte Umgebungsvariablen
-
LANG
– Das Gebietsschema der Laufzeit (en_US.UTF-8
). -
PATH
– Der Ausführungspfad (/usr/local/bin:/usr/bin/:/bin:/opt/bin
). -
LD_LIBRARY_PATH
– Der Pfad der Systembibliothek (/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) Der Node.js-Bibliothekspfad (/opt/nodejs/node12/node_modules/:/opt/nodejs/node_modules:$LAMBDA_RUNTIME_DIR/node_modules
). -
PYTHONPATH
– (Python) Der Python-Bibliothekspfad ($LAMBDA_RUNTIME_DIR
). -
GEM_PATH
– (Ruby) Der Pfad der Ruby-Bibliothek ($LAMBDA_TASK_ROOT/vendor/bundle/ruby/3.3.0:/opt/ruby/gems/3.3.0
). -
AWS_XRAY_CONTEXT_MISSING
– Für die X-Ray-Ablaufverfolgung legt Lambda dies aufLOG_ERROR
fest, um Laufzeitfehler aus dem X-Ray-SDK zu vermeiden. -
AWS_XRAY_DAEMON_ADDRESS
– Die IP-Adresse und der Port des X-Ray-Daemons. -
AWS_LAMBDA_DOTNET_PREJIT
– (.NET) Legen Sie für die .NET-Laufzeitumgebung diese Variable so fest, dass sie .NET-spezifische Laufzeitoptimierungen aktiviert oder deaktiviert. Zu den Werten gehörenalways
,never
undprovisioned-concurrency
. Weitere Informationen finden Sie unter Konfigurieren von Provisioned Concurrency für eine Funktion. -
TZ
– Die Zeitzone der Umgebung (:UTC
). Die Ausführungsumgebung verwendet NTP, um die Systemuhr zu synchronisieren.
Die angezeigten Beispielwerte spiegeln die neuesten Laufzeiten wider. Das Vorhandensein bestimmter Variablen oder deren Werte kann je nach früheren Laufzeiten unterschiedlich sein.