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.
Bewährte Methoden für langlebige Lambda-Funktionen
Dauerhafte Funktionen verwenden ein auf Wiederholungen basierendes Ausführungsmodell, das andere Programmierpraktiken erfordert als herkömmliche Lambda-Funktionen. Eine Anleitung zum Schreiben und Testen von AWS langlebigem Workflow-Code finden Sie unter https://docs.aws.amazon.com/durable-execution/patterns/best-practices/ Bewährte Methoden im Durable Execution SDK Developer Guide.
Die folgenden Empfehlungen sind bewährte Methoden für die Bereitstellung, den Aufruf und die Überwachung von Lambda-Durable-Funktionen.
Funktionsversionen und Aliase
Rufen Sie Funktionen mit Versionsnummern oder Aliasen auf, um Ausführungen bestimmten Codeversionen zuzuordnen. Stellen Sie sicher, dass neue Codeversionen den Status älterer Versionen verarbeiten können. Benennen Sie Schritte nicht um und ändern Sie ihr Verhalten nicht so, dass die Wiedergabe unterbrochen wird. Wenn Sie einen Schritt während der Ausführung umbenennen oder sein Verhalten ändern, kann es sein, dass diese Ausführungen nicht fortgesetzt werden oder zu falschen Ergebnissen führen. Dies liegt daran, dass die Laufzeit den gespeicherten Status nicht mehr mit der erwarteten Schrittdefinition abgleichen kann.
Überwachen
Aktivieren Sie die strukturierte Protokollierung mit Ausführungs-IDs und Schrittnamen. Richten Sie CloudWatch Alarme für Fehlerraten und Ausführungsdauer ein. Verwenden Sie Tracing, um Engpässe zu identifizieren. Eine ausführliche Anleitung finden Sie unter Überwachung und Debugging.
Fehlerbehandlung
Zusätzlich zur Konfiguration von Wiederholungsstrategien für vorübergehende Fehler konfigurieren Sie eine Dead-Letter-Queue (DLQ) für Ihre dauerhafte Funktion, um Ereignisse aus dauerhaft fehlgeschlagenen Ausführungen zu erfassen. Wenn eine dauerhafte Ausführung nach einem asynchronen Aufruf einen Endzustand (FAILED, STOPPED oder TIMED_OUT) erreicht, sendet Lambda das ursprüngliche auslösende Ereignis an den DLQ. Auf diese Weise können Sie fehlgeschlagene Ereignisse untersuchen, debuggen und optional erneut verarbeiten, ohne sie zu verlieren.
Um einen DLQ zu konfigurieren, setzen Sie die DeadLetterConfig Eigenschaft Ihrer Funktion auf eine Amazon SQS-Warteschlange oder einen ARN eines Amazon SNS-Themas. Weitere Informationen finden Sie unter Warteschlangen. Dead-letter
Folgen Sie diesen bewährten Methoden für die Fehlerbehandlung mit dauerhaften Funktionen:
-
Konfigurieren Sie einen DLQ für asynchrone Aufrufe — Hängen Sie beim asynchronen Aufrufen dauerhafter Funktionen immer eine Warteschlange an, in der keine Buchstaben mehr verfügbar sind. Im Gegensatz zu Standard-Lambda-Funktionen versucht der Dienst bei einem Ausfall nicht automatisch erneut, dauerhafte Ausführungen durchzuführen. Ein ordnungsgemäß konfigurierter DLQ erfasst Ereignisse, die zu dauerhaft fehlgeschlagenen Ausführungen geführt haben. Stellen Sie sicher, dass der DLQ über die richtigen Berechtigungen verfügt und über ausreichende Kapazität zum Empfangen von Nachrichten verfügt.
-
Schrittweise Wiederholungsstrategien anwenden — Konfigurieren Sie explizite Wiederholungsstrategien mit angemessenem Backoff für vorübergehende Fehler. Eine Anleitung zur Konfiguration von Wiederholungsversuchen finden Sie unter Wiederholungen für dauerhafte Funktionen. Wiederholungen für langlebige Lambda-Funktionen
-
Kombinieren Sie DLQs mit EventBridge Benachrichtigungen — Verwenden Sie EventBridge Regeln, um bei Statusänderungen von FAILED, STOPPED und TIMED_OUT zu warnen, um die Sichtbarkeit in Echtzeit zu gewährleisten, und verwenden Sie einen DLQ, um die ursprüngliche Ereignisnutzlast für spätere Analysen oder erneute Verarbeitung beizubehalten.
-
DLQ-Tiefe überwachen — Erstellen Sie anhand der
ApproximateNumberOfMessagesVisibleMetrik einen CloudWatch Alarm, damit Ihr DLQ erkennt, wenn sich Fehler häufen.