Hallo zusammen und willkommen zurück.
Im heutigen Video werden wir nun über Dynamo DB-Streams sprechen.
Jetzt in einer Übersicht auf hoher Ebene, Dynamo, dessen Streams die zeitlich geordnete Abfolge von Änderungen auf Elementebene
in jeder Dynamo DB-Tabelle erfasst und die Informationen bis zu 24 Stunden lang in einem Protokoll speichert.
In diesem Diagramm sehen Sie beispielsweise, dass der Client mehrere Vorgänge im Zusammenhang mit dem Hinzufügen,
dem Löschen usw. in Dynamo DB ausführt.
Daher speichert Dynamo DB all diese Informationen in einer speziellen Protokolldatei, anhand derer der Benutzer den genauen Datensatz
identifizieren kann.
Sogar der Datensatzbedarf und andere Details werden als Teil der Dynamo DB-Streams protokolliert.
Und das ist, was der zweite Punkt besagt, wo die Anwendung auf diese Protokolldatei zugreifen kann, um die Elemente
so anzuzeigen, wie sie vor und nach der Änderung in Echtzeit angezeigt wurden.
Und das ist nicht nur hinsichtlich der Revisionssicherheit ein großer Vorteil, sondern auch hinsichtlich der Rekonstruktion
der gesamten Tabelle.
Jetzt habe ich auf dieser Folie einen Screenshot hinzugefügt, der zeigt, wie ein Protokoll wirklich aussehen könnte.
Wenn Sie sich jetzt diese spezielle Protokolldatei in Cloud Watch ansehen, haben Sie eine Entfernung und die Schlüssel für
den Fall, dass Sie eine Benutzer-ID haben, und Sie haben null eine, und Sie haben auch etwas, das dieses alte Bild genannt
wird, und den Kursnamen, den Sie haben der E-Zertifizierungskurs.
So erhalten Sie sehr detaillierte Informationen darüber, was der alte Datensatz ist, der entfernt wurde, was der neue Datensatz
ist, der hinzugefügt wurde, und so weiter.
Also lasst uns eine Sache tun.
Machen wir weiter und probieren es praktisch aus.
Also suche ich nach Dynamo DB. Und hier können wir weitermachen und schnell eine neue Tabelle erstellen.
Ich nenne es einfach Benutzer-Unterstrichdaten, den Partitionsschlüssel, lass es uns einfach als Benutzer-ID eingeben und wir machen weiter
und erstellen eine Tabelle.
Der Status ist also Schaffen.
Wenn ich schnell eine Aktualisierung durchführe, ist der Status jetzt aktiv.
Lassen Sie uns jetzt schnell zu einer Tabelle hier gehen und hier haben Sie Exporte und Streams.
Auf dieser Registerkarte befinden sich Dynamo DB-Streams.
Lassen Sie uns fortfahren und es aktivieren.
Wenn Sie es jetzt im Ansichtstyp aktivieren, haben Sie verschiedene Dinge wie neues Bild, altes Bild, neues und
altes Bild.
Je nachdem, was Sie aufzeichnen möchten, ob Sie also im Grunde nur die neuen Dinge aufzeichnen möchten,
die zu Dynamo hinzugefügt werden.
DB möchten Sie sowohl die neuen als auch die alten Bilder aufnehmen und so weiter.
Ich wähle also das neue und das alte Bild aus, das sowohl das neue als auch das alte Bild des Änderungselements enthält.
Das ist also interessant.
Lassen Sie uns fortfahren und das verwenden, und ich klicke auch auf Stream aktivieren.
Wenn wir also etwas nach unten gehen, sehen Sie, dass unser Dynamo-TV-Stream aktiviert ist und uns auch die damit verbundene
URL mitteilt.
Jetzt werden wir diese Dynamo-DB in die Lambda-Funktion integrieren, und diese Lambda-Funktion überträgt
die mit dem Dynamo-DB-Stream verknüpften Protokolle an den Cloud Watch Log Service.
Bevor wir das tun, lassen Sie uns schnell eine anwendungsfallbasierte Beispielarchitektur erstellen, die Ihnen einen Überblick
darüber gibt, wie Lambda hier nützlich sein kann.
Nehmen wir also an, Sie haben hier drüben eine Dynamo DB-Tabelle und in diesem Schritt wurde der Dynamo DB-Tabelle ein neues
Element hinzugefügt.
Da nun die Dynamo DB-Streams aktiviert sind, werden die Daten zu diesem neuen Element als Teil des Dynamo DB-Streams
hinzugefügt.
Sobald nun ein neuer Datensatz im Dynamo DB-Stream hinzugefügt wird, löst dies eine Lambda-Funktion aus,
die erstellt wurde, und diese Lambda-Funktion wird in das SNS-Thema integriert, und dieses SNS-Thema wird fortfahren
und eine E-Mail senden oder vielleicht eine SMS, die besagt, dass ein neues Element in der Dynamo DB-Tabelle
hinzugefügt wurde.
Dies ist also einer der Anwendungsfälle, in denen sich die Lambda-Funktion als nützlich erweist.
Lambda kann für andere Zwecke verwendet werden.
Fälle wie es können die Daten aus Dynamo DB-Streams abrufen und sie zu Cloud-Überwachungsprotokollen hinzufügen, und Sie können sie direkt
aus Cloud-Überwachungsprotokollen anzeigen.
Gut.
Lassen Sie uns also mit diesem Basissatz fortfahren und schnell eine Lambda-Funktion erstellen.
Lassen Sie uns jetzt von hier aus schnell das Lambda öffnen.
Gut.
Lassen Sie uns jetzt in der Lambda-Konsole schnell eine Funktion erstellen, und wir verwenden hier
drüben eine Blaupause und suchen nach Dynamo.
DB Und Sie haben Dynamo DB Process Stream Python.
Also werde ich diese auswählen.
Klicken wir auf Konfigurieren, geben wir einen Funktionsnamen ein, ich sage Dynamo Stream to Cloud Watch, und diese spezifische Lambda-Funktion, die wir
erstellen, benötigt Zugriff auf diesen Dynamo DB-Stream und sie benötigt auch Zugriff auf den Cloud-Überwachungsprotokolldienst.
Wir werden also schnell eine neue IAM-Rolle erstellen, die es unserer Lambda-Funktion ermöglicht, diese Vorgänge
auszuführen.
Lassen Sie uns jetzt von der IEM-Konsole aus schnell zu den Regeln wechseln.
Wir erstellen eine neue Regel.
Diese Regel gilt für Lambda.
Lassen Sie uns der Einfachheit halber als nächstes die Erlaubnis machen.
Nehmen wir an, Dynamo DB-Vollzugriff.
Lassen Sie uns nach einer Cloud suchen, die unserer Cloud-Uhr nur der Einfachheit halber vollen Zugriff gewährt.
Lassen Sie uns als nächstes den Rollennamen machen.
Sie können einfach Lambda-Rolle für Dynamo DB sagen, und
derzeit sind zwei Richtlinien verknüpft.
Wir werden weitermachen und eine Rolle erstellen.
Gut.
Unsere Rolle ist also geschaffen.
Kommen wir zurück zu Lambda.
Innerhalb des Lambda fahre ich fort und wähle hier eine vorhandene Rolle aus.
Und in Ihnen sollten Sie unsere Lambda-Rolle für Dynamo sehen.
DB Lassen Sie uns beim Dynamo-DB-Trigger etwas nach unten gehen.
Sie können fortfahren und die Dynamo DB-Tabelle auswählen, die in diesem Fall die Startposition der Benutzerdaten ist.
Sie können es einfach in Traumhorizont ändern.
Wir gehen ein bisschen runter.
Wir erstellen eine Funktion.
Gut.
Wenn also ein Trigger erstellt wird, überprüfen Sie einfach auch, ob er sich im aktivierten Zustand befindet oder nicht.
Ab sofort erhalten wir diese Notiz, die besagt, dass der konfigurierte Auslöser von Benutzerunterstreichungsdaten im deaktivierten
Zustand ist.
Wir wollen es also nicht wirklich im deaktivierten Zustand.
Was wir also tun werden, wird weitergehen und es ermöglichen.
Groß.
Sobald dies aktiviert ist, sind wir eingestellt.
Alles, was wir tun müssen, ist, weiterzumachen und Dinge auszuprobieren.
Lassen Sie uns also fortfahren und einige Elemente zu unserer Dynamo DB-Tabelle hinzufügen.
Also gehe ich in die Tat.
Ich klicke auf Create Item, sagen wir null eins, ich füge ein neues String-Attribut hinzu, sagen wir den Namen Ellis,
und ich füge ein weiteres Attribut hinzu.
Sagen wir Interesse und Interesse.
Ich sage reisen, in Ordnung.
Und ich werde einen Artikel erstellen.
Wenn Sie also die Tischartikel hier drüben erkunden, sehen Sie, dass unser Artikel fertig ist.
Lassen Sie uns nun fortfahren und dies auch ändern.
Ich werde fortfahren und das Element bearbeiten.
Nehmen wir an, Alice interessiert sich vom Reisen zur Astronomie, also ändere ich es.
Ich klicke auf Save Changes und basierend darauf sollte unser Lambda ausgelöst worden sein.
Wenn Sie die Tabelle jetzt schnell wieder öffnen, gehen wir zum Exportieren von Zeichenströmen.
Im Triggerbereich sehen Sie, dass unsere Lambda-Funktion erscheint, der Status aktiviert ist und das letzte Prozessergebnis
in Ordnung ist.
Der nächste Teil besteht also darin, in die Cloud zu gehen und den Protokolldienst zu beobachten, um zu überprüfen, ob Lambda die Details hinzugefügt hat
oder nicht.
Ich suche also nach Cloud Watch und gehe hier schnell zu Protokollgruppen, und hier sollten Sie eine Protokollgruppe sehen,
die sich auf Lambda bezieht und der Name Dynamo ist.
Live-Stream zu Cloud Watch.
Lassen Sie uns das öffnen.
Sie haben einen Log-Stream.
Lassen Sie uns dies öffnen und Sie haben alle erforderlichen Details.
Schauen wir es uns von Grund auf an.
Lassen Sie mich ein wenig hineinzoomen, damit es einfacher zu lesen ist.
Jetzt haben Sie in der ersten Stufe einen Insert-Datensatz, die Key-User-ID und Sie haben null eins und das neue Bild
mit dem Interesse ist unterwegs.
Das ist etwas, das wir bereits wissen, und der Name war Alice, also war dies ein Teil.
Dann haben Sie hier drüben die Ende-Anfrage und dann eine neue Reihe von Anfragen.
Diesmal war es eine Änderungsanfrage und was hier geändert wurde, das Interesse wurde geändert und
es war Astronomie.
Und es zeigt Ihnen auch das alte Bild.
Und was war das alte Bild?
Das alte Bild reiste hierher und dann ist die Anfrage beendet.
Groß.
Ich hoffe, Sie haben die Grundlagen dessen verstanden, was Dynamo Stream uns ermöglicht.
Bevor wir zum Schluss kommen, wollen wir uns kurz einige der Anwendungsfälle ansehen, in denen sich Dynamo Live Stream als nützlich
erweisen kann.
Erstens ermöglicht es das Einrichten der Beziehung über mehrere Tabellen hinweg, in denen Sie basierend auf einem Wert eines
Elements aus einer Tabelle das Element in der zweiten Tabelle aktualisieren können.
Auch dies ist etwas, das Sie mit Lambda erreichen können.
Zweitens können Sie ein Ereignis basierend auf einer bestimmten Artikeländerung auslösen.
Dies ist dem Anwendungsfall, den wir besprochen haben, sehr ähnlich, wobei Dynamo DB, Lambda und vielleicht Psns
oder ein anderer Dienst verwendet werden kann.
Drittens können Sie die Daten prüfen oder sogar archivieren und sie können auch zum Replizieren der Daten über mehrere Tabellen hinweg
verwendet werden.
Das ist also die grobe Übersicht und damit wird das heutige Video abschließen.