View a markdown version of this page

Bewährte Methoden für langlebige Lambda-Funktionen - 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.

Bewährte Methoden für langlebige Lambda-Funktionen

Dauerhafte Funktionen verwenden ein auf Wiedergabe basierendes Ausführungsmodell, das andere Programmierpraktiken erfordert als herkömmliche Lambda-Funktionen. Anleitungen zum Schreiben und Testen von AWS dauerhaftem Workflow-Code finden Sie unter 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 dauerhaften Lambda-Funktionen.

Funktionsversionen und Aliase

Rufen Sie Funktionen mit Versionsnummern oder Aliasnamen auf, um Ausführungen an bestimmte Codeversionen zu binden. 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.

Ü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 Debuggen.

Fehlerbehandlung

Zusätzlich zur Konfiguration von Wiederholungsstrategien für vorübergehende Fehler können Sie auf Ihrer dauerhaften Funktion auch eine Warteschlange (Dead-Letter Queue, DLQ) einrichten, um Ereignisse aus dauerhaft fehlgeschlagenen Ausführungen aufzuzeichnen. Wenn eine dauerhafte Ausführung nach einem asynchronen Aufruf einen Terminalstatus (FAILED, STOPPED oder TIMED_OUT) erreicht, sendet Lambda das ursprüngliche auslösende Ereignis an die DLQ. Auf diese Weise können Sie fehlgeschlagene Ereignisse untersuchen, debuggen und optional erneut verarbeiten, ohne sie zu verlieren.

Um eine DLQ zu konfigurieren, setzen Sie die DeadLetterConfig Eigenschaft Ihrer Funktion auf eine Amazon SQS SQS-Warteschlange oder einen Amazon SNS SNS-Themen-ARN. Weitere Informationen finden Sie unter Warteschlangen. Dead-letter

Folgen Sie diesen bewährten Methoden für die Fehlerbehandlung mit dauerhaften Funktionen:

  • Einen DLQ für asynchrone Aufrufe konfigurieren — Beim asynchronen Aufrufen dauerhafter Funktionen wird immer eine Warteschlange mit unerlaubten Buchstaben angehängt. Im Gegensatz zu Standard-Lambda-Funktionen werden dauerhafte Ausführungen bei einem Fehler nicht automatisch wiederholt. Daher ist der DLQ Ihr Sicherheitsnetz für die Erfassung von Ereignissen, die zu dauerhaft fehlgeschlagenen Ausführungen geführt haben.

  • Schrittweise Wiederholungsstrategien anwenden — Konfigurieren Sie explizite Wiederholungsstrategien mit einem geeigneten Backoff für vorübergehende Ausfälle. Anleitungen zur Konfiguration von Wiederholungsversuchen finden Sie unter Wiederholungen für dauerhafte Funktionen.

  • Kombinieren Sie DLQs mit EventBridge Benachrichtigungen — Verwenden Sie EventBridge Regeln, um bei Statusänderungen FAILED, STOPPED und TIMED_OUT zu warnen, sodass Sie in Echtzeit sehen können, und verwenden Sie eine DLQ, um die ursprüngliche Event-Payload für eine spätere Analyse oder Wiederverarbeitung beizubehalten.

  • Überwachen Sie die DLQ-Tiefe — Erstellen Sie für Ihre ApproximateNumberOfMessagesVisible DLQ-Metrik einen CloudWatch Alarm, um zu erkennen, wenn sich Fehler häufen.

Zugehörige Ressourcen