DynamoDB Streams und -Trigger AWS Lambda - Amazon-DynamoDB

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.

DynamoDB Streams und -Trigger AWS Lambda

Amazon DynamoDB ist integriert, AWS Lambda sodass Sie Trigger erstellen können — Codeteile, die automatisch auf Ereignisse in DynamoDB Streams reagieren. Mit Auslösern können Sie Anwendungen erstellen, die auf Datenänderungen in DynamoDB-Tabellen reagieren.

Wenn Sie DynamoDB Streams für eine Tabelle aktivieren, können Sie den Stream Amazon Resource Name (ARN) mit einer von Ihnen geschriebenen AWS Lambda Funktion verknüpfen. Alle Mutationsaktionen für diese DynamoDB-Tabelle können dann als Element im Stream erfasst werden. Sie können beispielsweise einen Auslöser festlegen, sodass beim Ändern eines Elements in einer Tabelle sofort ein neuer Datensatz im Stream der betreffenden Tabelle angezeigt wird.

Anmerkung

Wenn Sie mehr als zwei Lambda-Funktionen für einen DynamoDB-Stream abonnieren, kann es zu einer Lesedrosselung kommen.

Der AWS Lambda-Service fragt den Stream viermal pro Sekunde nach neuen Datensätzen ab. Wenn neue Stream-Datensätze verfügbar sind, wird Ihre Lambda-Funktion synchron aufgerufen. Sie können bis zu zwei Lambda-Funktionen für denselben DynamoDB-Stream abonnieren. Wenn Sie mehr als zwei Lambda-Funktionen für denselben DynamoDB-Stream abonnieren, kann es zu einer Lesedrosselung kommen.

Die Lambda-Funktion kann eine Benachrichtigung senden, einen Workflow einleiten oder viele andere von Ihnen festgelegte Aktionen durchführen. Sie können eine Lambda-Funktion schreiben, um jeden Stream-Datensatz einfach in persistenten Speicher wie z. B. Amazon S3 File Gateway (Amazon S3) zu kopieren und einen permanenten Prüfungs-Trail der Schreibaktivitäten in Ihrer Tabelle zu erstellen. Angenommen, Sie verfügen über eine mobile Gaming-App, die Schreibvorgänge in einer GameScores-Tabelle vornimmt. Bei jedem Aktualisieren des TopScore-Attributs der GameScores-Tabelle wird ein entsprechender Stream-Datensatz in den Stream der Tabelle geschrieben. Dieses Ereignis kann dann automatisch eine Lambda-Funktion auslösen, die einen Glückwunsch in einem Social-Media-Netzwerk postet. Diese Funktion könnte auch so geschrieben werden, dass sie alle Stream-Datensätze ignoriert, die kein Update von GameScores sind oder das TopScore-Attribut nicht ändern.

Wenn Ihre Funktion einen Fehler zurückgibt, wiederholt Lambda den Vorgang mit dem Batch, bis die Verarbeitung erfolgreich ist oder die Daten ablaufen. Sie können Lambda auch so konfigurieren, dass eine Wiederholung mit einem kleineren Batch erfolgt, die Anzahl der Wiederholungen eingeschränkt wird, Datensätze verworfen werden, sobald sie zu alt sind, und vieles mehr.

Gemäß bewährten Methoden für die Leistung muss die Lambda-Funktion kurzlebig sein. Um unnötige Verarbeitungsverzögerungen zu vermeiden, sollte sie auch keine komplexe Logik ausführen. Insbesondere bei einem Hochgeschwindigkeits-Stream ist es besser, asynchrone Nachbearbeitungs-Schrittfunktions-Workflows auszulösen als synchrone Lambdas mit langer Laufzeit.

Sie können denselben Lambda-Trigger nicht für verschiedene AWS Konten verwenden. Sowohl die DynamoDB-Tabelle als auch die Lambda-Funktionen müssen zu demselben Konto gehören. AWS

Weitere Informationen dazu finden Sie im AWS Lambda Entwicklerhandbuch.AWS Lambda