AWS Lambda
Entwicklerhandbuch

Verwenden von AWS Lambda mit Amazon SQS

Das Anfügen einer Amazon SQS-Warteschlange als AWS Lambda-Ereignisquelle ist eine einfache Möglichkeit zur Verarbeitung der Inhalte der Warteschlange mithilfe einer Lambda-Funktion. Lambda übernimmt folgende Aufgaben:

  • Automatisches Abrufen von Nachrichten und Weiterleiten an die Lambda-Zielfunktion.

  • Löschen der Nachrichten, sobald Ihre Lambda-Funktion erfolgreich abgeschlossen ist.

Die meisten Amazon SQS-Funktionen, wie z. B. DLQ, Wiederholungslimit u. a. funktionieren wie erwartet. Nach der Einrichtung als Ereignisquelle fragt AWS Lambda Ihre Amazon SQS-Warteschlange ab und wenn es neue Nachrichten entdeckt, ruft es eine Lambda-Funktion auf, indem die neuen Nachrichten als Parameter übergeben werden. Lambda ruft SQS-ReceiveMessage auf und sobald Ihre Funktion erfolgreich abgeschlossen ist, ruft es in Ihrem Auftrag die SQS-DeleteMessage-API auf. Diese API-Aufrufe werden Ihnen genauso in Rechnung gestellt, als hätten Sie sie selbst ausgeführt. Weitere Informationen zur Skalierung durch Lambda zum Verarbeiten von Nachrichten in Ihrer Amazon SQS-Warteschlange finden Sie unter Grundlegendes zum Skalierungsverhalten.

Anmerkung

Wenn Sie Amazon SQS als Ereignisquelle verwenden, konfigurieren Sie eine Warteschlange für unzustellbare Nachrichten direkt in der Amazon SQS-Warteschlange und nicht in der Lambda-Funktion. Weitere Informationen finden Sie unter Amazon SQS-Dead-Letter Queues.

Sie können Ihre Amazon SQS-Warteschlangenattribute anpassen, um zu steuern, wie und wann Ihre Lambda-Funktion aufgerufen wird. Verwenden Sie hierfür die folgenden Amazon SQS-Optionen:

Weitere Informationen finden Sie im Amazon Simple Queue Service-Entwicklerhandbuch.

Beachten Sie im Hinblick auf die Integration von Amazon Simple Queue Service und AWS Lambda Folgendes:

  • Synchroner Aufruf: AWS Lambda ruft Lambda-Funktionen über den Aufruftyp RequestResponse auf. Weitere Informationen zu Aufruftypen finden Sie unter Aufruftypen .

  • Ereignisstruktur: Das Ereignis, das Ihre Lambda-Funktion empfängt, ist eine Nachricht in der Amazon SQS-Warteschlange, die AWS Lambda liest. Ein Beispiel finden Sie unter Amazon SQS-Ereignis.

Wenn Sie Ihre Lambda-Funktion so konfigurieren möchten, dass sie diese Nachrichten verarbeitet, verwenden Sie die folgenden API-Operationen:

Wenn Sie diese Operationen verwenden, um Ihre Lambda-Funktion einer Amazon SQS-Warteschlange zuzuordnen, beachten Sie die folgenden Konfigurationsparameter:

  • BatchSize: Die größte Anzahl von Datensätzen, die AWS Lambda bei jedem ReceiveMessage-Aufruf abruft. Amazon Simple Queue Service unterstützt eine maximale Stapelgröße von 10 Warteschlangennachrichten pro Stapel.

  • Aktiviert: Ein Flag, das AWS Lambda signalisiert, mit dem Abfragen der angegebenen Amazon SQS-Warteschlange zu beginnen.

  • EventSourceArn: Der Amazon-Ressourcenname (ARN) Ihrer Amazon SQS-Warteschlange, die AWS Lambda auf neue Nachrichten überwacht.

  • FunctionName: Die Lambda-Funktion, die aufgerufen werden soll, wenn AWS Lambda neue Nachrichten in Ihrer konfigurierten Amazon SQS-Warteschlange erkennt.

Wichtig

Amazon Simple Queue Service unterstützt sowohl Standard- als auch FIFO-Warteschlangen. AWS Lambda unterstützt nur Standard-Warteschlangen. Weitere Informationen über den Unterschied finden Sie unter Welchen Warteschlangentyp benötige ich?

Nächster Schritt

Tutorial: Verwenden von AWS Lambda mit Amazon Simple Queue Service

Auf dieser Seite: