Natürlich können Sie auch die DynamoDB -Streams verwenden, um die nachgeschalteten Prozesse und AWS -Lambda -Funktionen auszulösen. Lambda ist per Definition ein serverloser Rechendienst, der Ihren Code als Antwort auf Ereignisse ausführt und die Rechenressourcen für Sie automatisch verwaltet.
Sie können Lambda verwenden, um den Code in den Knoten zu schreiben.JS, Python, Java oder C#, um die Stream -Datensätze zu verarbeiten und geeignete Maßnahmen zu ergreifen. Der Hauptvorteil bei der Integration der DynamoDB -Streams in Lambda besteht darin, dass Sie mit Lambda die gesicherten Dienste oder Anwendungscodes ausführen können, ohne dass die Verwaltung erforderlich ist.
So verwenden Sie die AWS -Dynamodb -Streams mit Lambda
Während es möglich ist, eine Lambda -Funktion zu erstellen, die die Ereignisse und Ereignisse aus einem DynamoDB -Stream verbraucht, kann der Prozess insbesondere bei Ihrem ersten Versuch eine ziemlich Aufgabe sein. Die folgenden Schritte helfen:
Schritt 1: Stellen Sie sicher, dass Ihr System die Voraussetzungen erfüllt
Dieses Verfahren ist nur erfolgreich, wenn Sie die grundlegenden Lambda -Operationen und -Prozesse kennen. Dies sollte daher Sie erster sein, um sicherzustellen, dass Ihr Verständnis von Lambda überdurchschnittlich liegt.
Die zweite Voraussetzung, die es wert ist, die AWS -Version Ihres Systems zu bestätigen. Sie können den folgenden Befehl verwenden:
AWS -VersionDas Ergebnis für den angegebenen Befehl sollte wie folgt aussehen:
AWS-CLI/2.X.x python/3.X.x Linux/4.X.x-xxx-std botocore/2.X.XDie angegebene Beispielantwort enthält die installierte Version des AWS CLI (AWS-CLI/2.X.X), die Python -Version (Python/3.X.X) und das Betriebssystem (Linux/4.X.X-XXX-STD). Der letzte Teil der Antwort definiert die Botocore -Bibliotheksversion, auf der Ihre AWS -CLI ausgeführt wird (Botocore/2.X.X).
Sie werden daher so etwas enden:
Schritt 2: Erstellen Sie eine Ausführungsrolle
Der nächste Schritt besteht darin, eine Ausführungsrolle in AWS CLI zu erstellen. Eine Ausführungsrolle ist eine AWS -Identitäts- und Zugriffsmanagement -Rolle (IAM), die von einem AWS -Dienst übernommen wird, um die Aufgaben in Ihrem Namen auszuführen. Sie erhalten Zugriff auf AWS -Ressourcen, die Sie auf dem Weg benötigen.
Mit dem folgenden Befehl können Sie eine Rolle erstellen:
aws iam create-role \Der vorherige Befehl ist ein AWS -CLI -Befehl, um eine Rolle zu erstellen. Sie können auch die Amazon -Managementkonsole verwenden, um eine Rolle zu erstellen. Sobald Sie bei der IAM -Konsole sind, öffnen Sie die Rollen Seite und klicken Sie auf die Rolle erstellen Taste.
Geben Sie Folgendes fort:
Sie können Python auch verwenden, indem Sie zuerst das AWS SDK für Python installieren:
PIP Installieren Sie Boto3Schritt 3: Aktivieren Sie die DynamoDB -Streams in Ihrer Tabelle
Sie müssen die DynamoDB -Streams in Ihrer Tabelle aktivieren. Für diese Illustration verwenden wir den Boto3, AWS SDK für Python. Der folgende Befehl hilft:
Boto3 importierenDieser Code ermöglicht den DynamoDB -Stream in der Tabelle „Mytable“, in der sowohl die neuen als auch die alten Bilder von Elementen gestreamt werden, sobald Änderungen auftreten. Sie können die neuen Bilder nur nach dem StreamViewType auf "new_image" streamen.
Insbesondere kann das Ausführen dieses Codes die Streams in Ihren Tabellen nach einer Weile nur aktivieren. Stattdessen kann der Prozess einige Zeit dauern. Sie können mit der Methode cribs_table den Status des Streams überprüfen.
Schritt 4: Erstellen Sie die Lambda -Funktion
Der nächste Schritt besteht darin, eine Lambda -Funktion zu erstellen, die den DynamoDB -Stream auslöst. Die folgenden Schritte sollten helfen:
Das ist alles, was beim Erstellen einer Lambda -Funktion passiert! Ihre Funktion wird jetzt ausgelöst, wenn die angegebenen DynamoDB -Tabelle aktualisiert wird.
Hier ist ein Beispiel für eine einfache Python -Funktion, die der DynamoDB -Stream auslösen kann:
Def lambda_handler (Ereignis, Kontext):Diese Funktion durchläuft die Datensätze im Ereignisobjekt und druckt das neue Bild des Elements in der Dynamodb -Tabelle aus, die die Funktion auslöst.
Schritt 5: Testen Sie die Lambda -Funktion
Um eine Lambda -Funktion zu testen, die ein DynamoDB -Stream auslösen kann, können Sie die verwenden Boto3 Bibliothek zum Zugriff auf die DynamoDB -API und die aufrufen Methode der Lambda Client, um die Funktion auszulösen.
Hier ist ein Beispiel, wie es geht:
Boto3 importierenDieser Code fügt zunächst ein Element in die ein mein Tisch Tisch und löst dann die aus Myfunktion Lambda -Funktion durch Senden einer Beispielereignis -Nutzlast an die Funktion mit der Funktion aufrufen Methode. Die Ereignisnutzlast simuliert ein DynamoDB -Stream -Ereignis, das das neue Bild des gerade eingefügten Elements enthält.
Sie können dann die Protokolle der Lambda -Funktion überprüfen, um festzustellen, ob sie die Ereignisdaten erfolgreich ausgelöst und verarbeitet haben.
Abschluss
Es ist wichtig zu beachten, dass Sie für denselben Stream -Datensatz mehrmals aufrufen können. Der Hauptgrund dafür ist, dass die Stream -Datensätze letztendlich konsistent sind und es möglich ist, dasselbe Datensatz von der Lambda -Funktion mehrfach zu verarbeiten. Es ist entscheidend, Ihre Lambda -Funktion zu entwerfen, um diesen Fall korrekt zu behandeln.