View a markdown version of this page

Dauerhafte Lambda-Funktionen konfigurieren - AWS Lambda

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.

Dauerhafte Lambda-Funktionen konfigurieren

Dauerhafte Ausführungseinstellungen steuern, wie lange Ihre AWS Lambda Funktion ausgeführt werden kann, wie lange der Dienst den Ausführungsverlauf speichert und welcher AWS KMS Schlüssel Ihre Ausführungsdaten verschlüsselt. Konfigurieren Sie diese Einstellungen, um eine dauerhafte Ausführung Ihrer Funktion zu ermöglichen.

Ermöglichen Sie eine dauerhafte Ausführung

Konfigurieren Sie das DurableConfig Objekt, wenn Sie Ihre Funktion erstellen, um das Ausführungstimeout und die Aufbewahrung des Verlaufs festzulegen. Sie können die dauerhafte Ausführung nur aktivieren, wenn Sie eine Funktion erstellen. Sie können es nicht für bestehende Funktionen aktivieren.

AWS CLI
aws lambda create-function \ --function-name my-durable-function \ --runtime nodejs24.x \ --role arn:aws:iam::123456789012:role/my-durable-role \ --handler index.handler \ --zip-file fileb://function.zip \ --durable-config '{"ExecutionTimeout": 3600, "RetentionPeriodInDays": 30, "KMSKeyArn": "arn:aws:kms:us-east-1:111122223333:key/key-id"}'
CloudFormation
Resources: MyDurableFunction: Type: AWS::Lambda::Function Properties: FunctionName: my-durable-function Runtime: nodejs24.x Handler: index.handler Code: ZipFile: | // Your durable function code DurableConfig: ExecutionTimeout: 3600 RetentionPeriodInDays: 30 KMSKeyArn: "arn:aws:kms:us-east-1:111122223333:key/key-id"

Konfigurationsparameter:

  • ExecutionTimeout – Erforderlich. Die maximale Zeit in Sekunden, die eine dauerhafte Ausführung ausführen kann, bevor Lambda die Ausführung stoppt. Dieser Timeout gilt für die gesamte dauerhafte Ausführung, nicht für einzelne Funktionsaufrufe. Sie müssen angeben, ExecutionTimeout wann immer Sie dies angebenDurableConfig. Das Erstellen einer Funktion mit einer dauerhaften Konfiguration, aber ohne Ausführungstimeout, schlägt mit einem fehl. InvalidParameterValueException Gültiger Bereich: 1—31622400.

  • RetentionPeriodInDays – Optional. Die Anzahl der Tage, für die der Ausführungsverlauf nach Abschluss einer dauerhaften Ausführung gespeichert werden soll. Nach Ablauf dieses Zeitraums ist der Ausführungsverlauf nicht mehr über die GetDurableExecutionHistory API verfügbar. Gültiger Bereich: 1—90. Standard: 14.

  • KMSKeyArn – Optional. Der ARN eines vom Kunden verwalteten Schlüssels zur Verschlüsselung dauerhafter Ausführungsdaten. Weitere Informationen finden Sie unter Verschlüsseln von dauerhaften Lambda-Ausführungsdaten.

Die vollständige API-Referenz finden Sie DurableConfig in der Lambda-API-Referenz.

Bewährte Methoden für die Konfiguration

Folgen Sie diesen bewährten Methoden, wenn Sie langlebige Funktionen für den Produktionseinsatz konfigurieren:

  • Legen Sie angemessene Ausführungszeitlimits fest — Konfigurieren Sie die Konfiguration auf der ExecutionTimeout Grundlage der maximal erwarteten Dauer Ihres Workflows. Legen Sie keine unnötig langen Timeouts fest, da sie sich auf die Kosten- und Ressourcenzuweisung auswirken.

  • Sorgen Sie für ein ausgewogenes Verhältnis zwischen Aufbewahrung und Speicherkosten — Diese Option RetentionPeriodInDays richtet sich nach Ihren Debugging- und Auditanforderungen. Längere Aufbewahrungsfristen erhöhen die Speicherkosten.

  • Überwachen Sie die Größe des Zustands — Große Statusobjekte erhöhen die Speicherkosten und können sich auf die Leistung auswirken. Halten Sie den Status minimal und verwenden Sie externen Speicher für große Datenmengen.

  • Konfigurieren Sie die entsprechende Protokollierung — Aktivieren Sie eine detaillierte Protokollierung zur Fehlerbehebung bei langwierigen Workflows, berücksichtigen Sie dabei jedoch die Auswirkungen auf das Protokollvolumen und die Kosten.

  • Mit Ihrem eigenen AWS KMS Schlüssel verschlüsseln — Stellen KMSKeyArn Sie einen vom Kunden verwalteten Schlüssel ein, um die Schlüsselrotation zu kontrollieren, den Zugriff zu überprüfen und Compliance-Anforderungen zu erfüllen. Siehe Verschlüsseln AWS Lambda dauerhafte Ausführungsdaten.

Beispiel für eine Produktionskonfiguration:

{ "ExecutionTimeout": 86400, "RetentionPeriodInDays": 7, "KMSKeyArn": "arn:aws:kms:us-east-1:111122223333:key/key-id" }

In diesem Beispiel wird ein Ausführungs-Timeout von 24 Stunden (86.400 Sekunden), eine Aufbewahrungsfrist von 7 Tagen und ein vom Kunden verwalteter Schlüssel für die Verschlüsselung festgelegt.