2017-12-08 4 views
1

Sie möchten eine globale DynamoDB-Tabelle zum Speichern von Kundeninformationen erstellen. Das Problem, das ich habe, ist mein aktuelles Muster ist es, Änderungen in dieser Tabelle zu hören und E-Mail-Updates mit Lambda-Triggern zu senden.So behandeln Sie DynamoDB Globale Datenströme

d. H. Ihre Profilinformationen wurden geändert. Wenn das nicht du warst ..

Muss ich jetzt dieses Lambda in jeder Region haben und wird Datenreplikation bedeuten, dass es für jede Region ausgelöst wird?

Antwort

2

Ich denke, Sie könnten mit Streams missverstanden haben.

Die globalen Tabellen benötigen Streams, die in der Tabelle aktiviert sind, um zwischen Regionen zu replizieren. Sie können die Anforderungen und wie es funktioniert überprüfen.

http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables_HowItWorks.html

Wenn Sie Trigger haben, können Sie nur in einer Region haben. Welche Region das mit dem Trigger verknüpfte Lambda hat, wird mit den Updates benachrichtigt.

Der Vorteil der globalen Tabelle, die Sie erhalten, ist, wenn Regionen die Daten aktualisieren, das Lambda in der Region, die Sie konfiguriert haben, ausgelöst wird. Es wird nur ein Trigger an das Lambda gesendet.

Das Aktivieren von Streams ist eine der Anforderungen für globale DynamoDB-Tabellen.

Wenn Sie Trigger in mehreren Regionen erstellen, müssen Sie Ihr Lambda mit Idempotenz implementieren, d. H. Wenn die gleichen Daten beliebig oft übermittelt werden, wird die Operation nur einmal ausgeführt.

Ich hoffe, es hilft.

Verwandte Themen