

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.

# Umgebungsvariablen
<a name="web-functions-revisions-env-vars"></a>

Umgebungsvariablen sind Schlüssel-Wert-Paare, die zur Laufzeit für Ihren Anwendungscode verfügbar sind. Verwenden Sie Umgebungsvariablen für nicht sensible Konfigurationen, die Sie ändern möchten, ohne den Code zu ändern, z. B. Feature-Flags, Protokollebenen und Ressourcenbezeichner wie einen Datenbank-Hostnamen. Speichern Sie sensible Werte wie API-Schlüssel und Datenbankanmeldedaten nicht in Umgebungsvariablen. Verwenden Sie stattdessen Secrets Manager oder AWS Systems Manager Parameter Store und rufen Sie die Werte zur Laufzeit ab.

Umgebungsvariablen werden bei der Erstellung der Revision festgelegt und sind nach der Erstellung unveränderlich. Um eine Umgebungsvariable zu ändern, erstellen Sie eine neue Revision. Geben Sie in der neuen Version jede Umgebungsvariable und jede `serviceConfig` Einstellung an, die Sie beibehalten möchten, nicht nur die Werte, die sich ändern. Einstellungen, die Sie auslassen, erhalten ihre Standardwerte, und Umgebungsvariablen, die Sie auslassen, sind nicht festgelegt.

Lambda legt die folgende Umgebungsvariable speziell für Webfunktionen fest:
+ **`AWS_LAMBDA_HTTP_ENDPOINT`**— Der Host und der Port, auf die Ihr HTTP-Server warten muss, im `host:port` Format. Lambda setzt diese Variable und leitet Anfragen an diese Adresse weiter. Lesen Sie es in Ihrem Anwendungscode und binden Sie genau diesen Host und Port. Sie können diese Variable nicht in den Umgebungsvariablen einer Revision setzen. Binden Sie immer an die Adresse in dieser Variablen, nicht `localhost` an einen fest codierten Port. Die Runtime wartet darauf, dass Ihr Server eine Verbindung an dieser Adresse akzeptiert, und die Initialisierung schlägt fehl, falls dies nie der Fall ist. Verwenden Sie eine Fallback-Adresse nur für lokale Läufe. In einer Webfunktion legt Lambda immer diese Variable fest.

Webfunktionen empfangen auch andere Lambda-Laufzeitumgebungsvariablen wie `AWS_LAMBDA_FUNCTION_MEMORY_SIZE``AWS_LAMBDA_METADATA_API`, und`AWS_LAMBDA_METADATA_TOKEN`. Eine allgemeine Liste finden Sie unter[Definierte Laufzeitumgebungsvariablen](configuration-envvars.md#configuration-envvars-runtime). Wenn Ihr Code oder eine Bibliothek eine Variable aus dieser Liste liest, stellen Sie sicher, dass Lambda sie in einer Webfunktion festlegt, bevor Sie sich darauf verlassen. Webfunktionen empfangen nicht jede Variable in dieser Liste.

Die folgenden Namen von Umgebungsvariablen sind für Lambda-Webfunktionen reserviert und können nicht festgelegt werden. Wenn Sie eine angeben, lehnt Lambda die Anforderung ab, eine Webfunktion oder Revision zu erstellen:
+ `AWS_ACCESS_KEY`, `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`, `AWS_SECRET_KEY`, `AWS_SECURITY_TOKEN`, und `AWS_SESSION_TOKEN`
+ `AWS_DEFAULT_REGION` und `AWS_REGION`
+ `AWS_LAMBDA_HTTP_ENDPOINT`, `AWS_LAMBDA_RUNTIME_API`, `AWS_LAMBDA_INITIALIZATION_TYPE`, und `AWS_LAMBDA_FUNCTION_MEMORY_SIZE`
+ `AWS_LAMBDA_METADATA_API` und `AWS_LAMBDA_METADATA_TOKEN`

Einige Frameworks lesen stattdessen ihre eigenen Umgebungsvariablen für die Listen-Adresse. Zum Beispiel liest der Next.js Standalone-Modus `HOSTNAME` und`PORT`. Verwenden Sie für solche Frameworks eine `index.js` Eintragsdatei, die diese Variablen festlegt, `AWS_LAMBDA_HTTP_ENDPOINT` bevor Sie den Server starten.

Standardmäßig wird die Runtime `index.js` im Stammverzeichnis Ihres Bereitstellungspakets als Eingabedatei Ihrer Anwendung geladen. Die Runtime liest den Einstiegspunkt nicht von`package.json`. Wenn Ihre Eintragsdatei einen anderen Namen oder Pfad hat (z. B.`dist/index.js`), setzen Sie die `AWS_LAMBDA_NODEJS_ENTRYPOINT` Umgebungsvariable auf ihren Pfad relativ zum Stammverzeichnis Ihres Pakets.

Das folgende Beispiel zeigt, wie die `AWS_LAMBDA_HTTP_ENDPOINT` Umgebungsvariable in einer Node.js Anwendung gelesen wird:

```
// Lambda provides the address to bind in AWS_LAMBDA_HTTP_ENDPOINT ("host:port").
// The fallback applies only when running locally.
const [host, port] = (process.env.AWS_LAMBDA_HTTP_ENDPOINT || 'localhost:3000').split(':');
app.listen(port, host, () => {
  console.log(`Server listening on ${host}:${port}`);
});
```

Um Ihre eigenen Umgebungsvariablen festzulegen, fügen Sie dem `serviceConfig` Objekt eine `environmentVariables` Map hinzu, wenn Sie eine Revision erstellen, wie im folgenden Beispiel. Den vollständigen Befehl finden Sie unter[Eine Revision erstellen](web-functions-revisions.md#web-functions-revisions-create).

```
{
  "executionRoleArn": "arn:aws:iam::{{111122223333}}:role/{{my-web-function-role}}",
  "environmentVariables": {
    "DATABASE_URL": "{{my-database-endpoint}}",
    "LOG_LEVEL": "info",
    "FEATURE_FLAG_NEW_UI": "true"
  }
}
```

Wenn Sie einen vom Kunden verwalteten Schlüssel angeben, verschlüsselt Lambda die ruhenden Umgebungsvariablen mit diesem Schlüssel. Weitere Informationen finden Sie unter [Verschlüsselung im Ruhezustand für Webfunktionen](web-functions-encryption.md).