Warum wurde mein Lambda Amazon SQS-Trigger deaktiviert?

Lesedauer: 3 Minute
0

Ich habe meine AWS Lambda-Funktion so konfiguriert, dass sie Nachrichten in einer Amazon Simple Queue Service (Amazon SQS)-Warteschlange verarbeitet, aber der SQS-Trigger ist nicht aktiv.

Kurze Beschreibung

Sie können eine Lambda-Funktion verwenden, um Nachrichten in einer Amazon SQS-Warteschlange zuverarbeiten. Die Ereignisquellenzuordnung liest aus einer Ereignisquelle und ruft eine Lambda-Funktion auf. Der Status der Ereignisquellenzuordnung ist entweder Erstellen, Aktivieren, Aktiviert, Deaktivieren, Deaktiviert, Aktualisieren, oder Löschen.

Lambda-Poller führen ständig den Aktionsaufruf der ReceiveMessage-API an die Amazon SQS-Warteschlange durch. Wenn der ReceiveMessage-API-Aufruf nicht abgeschlossen wird, ist die EventSourceMapping-Ressource deaktiviert.

Auflösung

Lambda-Funktionsberechtigungen

Stellen Sie sicher, dass Ihre Lambda-Funktionsausführungsrolle Zugriff auf die folgenden Berechtigungen hat:

Berechtigungen für AWS Key Management Service (AWS KMS)

Wenn die Amazon SQS-Warteschlange mit SSE-KMS-Verschlüsselung konfiguriert ist, stellen Sie sicher, dass:

**Hinweis:**Amazon SQS-Warteschlangen mit SSE-KMS-Verschlüsselung können keine Lambda-Funktion in einem anderen AWS-Konto aufrufen (kontoübergreifend).

CloudTrail-Ereignisverlauf

Sie können AWS CloudTrail verwenden, um nach Ereignissen zu suchen. CloudTrail ist standardmäßig für Ihr AWS-Konto aktiviert.

Um eine fortlaufende Aufzeichnung der Ereignisse in Ihrem AWS-Konto zu erhalten, erstellen Sie einen Trail. Mithilfe eines Trails erstellt CloudTrail Protokolle der API-Aufrufe, die für Ihr Konto getätigt wurden. Diese Protokolle werden an einen von Ihnen angegebenen Amazon Simple Storage Service (Amazon S3) -Bucket geliefert. Wenn Sie keinen Trail konfigurieren, können Sie die neuesten Ereignisse trotzdem in der CloudTrail-Konsole unter Ereignisverlauf einsehen.

1.Öffnen Sie die CloudTrail-Konsole.

2.Wählen Sie im Navigationsbereich die Option Ereignisverlauf aus.

3.Folgen Sie den Anweisungen zum Anzeigen und Filtern von CloudTrail-Ereignissen für Ihren Anwendungsfall.

Sie können den aufgezeichneten Ereignisverlauf auch als Datei im CSV- oder JSON-Format herunterladen.

Suchen Sie nach dem CloudTrail-Ereignisnamen lambdaesmDisabled. Das Ereignisprotokoll enthält den Parameter esmDisableReason mit weiteren Informationen zur Ursache, warum der Amazon SQS-Trigger nicht aktiv ist.

Weitere Informationen finden Sie unter Protokollieren von Lambda-API-Aufrufen mit CloudTrail.

Amazon CloudWatch-Alarme (optional)

Sie können einen CloudWatch-Alarm für Amazon SQS-Metriken erstellen, um über die Anzahl der empfangenen, gesendeten, gelöschten usw. Nachrichten informiert zu werden. Sie können beispielsweise die Amazon SQS-Metrik NumberOfMessagesReceived verwenden, um die Anzahl der zuletzt zurückgegebenen Nachrichten zu erhalten. Wenn die Anzahl 0 ist, rufen Sie eine neue Lambda-Funktion auf, um den Status des Amazon SQS-Triggers zu überprüfen. Wenn der Amazon SQS-Trigger immer noch deaktiviert ist, verwenden Sie die neue Lambda-Funktion, um ihn zu aktivieren.

Weitere Informationen finden Sie unter Verfügbare CloudWatch-Metriken für Amazon SQS.

Verwandte Informationen

Welche Berechtigungen benötige ich, um auf eine Amazon SQS-Warteschlange zuzugreifen?

Wie behebe ich Lambda-Funktionsfehler?

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 10 Monaten