Wie kann ich globale Amazon-DynamoDB-Tabellen-Stream-Ereignisse mit AWS Lambda erfassen?

Letzte Aktualisierung: 18.08.2022

Ich möchte einen AWS-Lambda-Trigger erstellen, um einen Stream aus einer globalen Amazon DynamoDB-Tabelle zu verarbeiten.

Auflösung

Eine globale DynamoDB-Tabelle ist eine Sammlung von Replikaten über Regionen hinweg in einem einzigen Konto. Globale Tabellen verwenden DynamoDB Streams, um Daten über verschiedene Regionen hinweg zu replizieren. Wenn Sie ein Replikat für eine globale Tabelle erstellen, wird standardmäßig ein Stream erstellt. Alle Änderungen an einem Replikat werden mit DynamoDB Streams innerhalb einer Sekunde auf alle anderen Replikate innerhalb derselben globalen Tabelle repliziert.

Hinweis: Es reicht aus, einen einzigen Verbraucher für eines der globalen Tabellenreplikate in einer Region zu haben, um die Änderungsdatensätze für alle Elemente abzurufen.

Sie können einen AWS-Lambda-Trigger für die Verarbeitung eines Streams aus einem globalen Tabellenreplikat konfigurieren, indem Sie folgende Schritte ausführen:

  1. Stellen Sie sicher, dass AWSLambaDynamoDBExecutionRole über die erforderlichen AWS-Identity-and-Access-Management-Berechtigungen (IAM) verfügt.
    Hinweis: Die AWSLambdaDynamoDBExecutionRole-IAM-Richtlinie verfügt standardmäßig nicht über Berechtigungen für Lambda, um mit anderen Services wie Amazon Simple Notification Service (Amazon SNS) zu kommunizieren. Das bedeutet, dass Sie die erforderlichen zusätzlichen Berechtigungen basierend auf dem Lambda-Ziel hinzufügen müssen.
  2. Erstellen Sie eine Lambda-Funktion mit dem Blueprint dynamodb-process-stream. Sie können den Lambda-Code entsprechend Ihren Anforderungen ändern, um die Stream-Daten zu verarbeiten.
  3. Nachdem Sie die Lambda-Funktion erfolgreich erstellt haben, öffnen Sie die DynamoDB-Konsole und wählen Sie das globale Tabellenreplikat aus. Wählen Sie auf der Registerkarte Exporte und Streams die Option Trigger erstellen. Wählen Sie dann die Lambda-Funktion aus, die Sie im vorherigen Schritt erstellt haben. Stellen Sie sicher, dass Sie Trigger aktivieren auswählen, damit der Trigger nach seiner Erstellung aktiviert wird.

Die Lambda-Funktion ist jetzt als Trigger für Ihr globales Tabellenreplikat konfiguriert. Alle Änderungen am Replikat werden vom Stream erfasst und der Trigger wird aufgerufen.


War dieser Artikel hilfreich?


Benötigen Sie Hilfe zur Fakturierung oder technischen Support?