2016-08-29 3 views
0

Ich habe eine Tabelle (key=username, value=male or female) und einen Index für die Werte.Wie kann ich über einen Index informiert werden, der auf DynamoDB aktualisiert wird?

Nachdem ich ein Element zur Tabelle hinzugefügt habe, möchte ich die Anzahl der Männchen und Weibchen aktualisieren. Nach einem erfolgreichen Schreibvorgang ist der Zählwert jedoch nicht konsistent, da der Index ein globaler sekundärer Index ist.

Gibt es einen Weg (Dynamo db Streams, Lambda, ...) zu überwachen, wenn der Index auf dem neuesten Stand ist?

Beachten Sie, dass ich nicht nach einer Lösung suche, die etwas anderes beinhaltet (Anzahl der Inkremente in redis oder ...), was ich hier beschreibe, ist ein vereinfachtes Problem, vor allem eine Frage zu stellen, wie ich einen Index überwachen kann Dynamo.

Danke!

+1

Soweit ich weiß, gibt es keine Möglichkeit, über Aktualisierungen einer GSI informiert zu werden. Daher können Sie nicht überwachen, wenn es aktuell ist. – readyornot

Antwort

0

Ich bin mir nicht sicher, ob es derzeit einen Mechanismus gibt, um dies zu überprüfen, aber Sie können dieses Problem leicht lösen, indem Sie Ihrer Abfrage eine einzige Codezeile hinzufügen.

ConsistentRead = True 

DynamoDB hat einen Parameter, wenn sie als wahr gesetzt wird sicherstellen, dass Sie neuesten aktualisierten Wert.

Wenn Sie nun das Element hinzufügen/aktualisieren und anschließend die Daten abfragen, fügen Sie die Option ConsistentRead hinzu, um sicherzustellen, dass Sie über den neuesten Zählwert verfügen.

Hier ist die Referenz link.

Wenn Sie in der Lage sind, mit einer anderen Technik zu erreichen, dann teilen Sie es bitte.

Hoffe, dass hilft.

+0

Leider verbietet Dynamo konsistente Lesevorgänge auf Indizes – Thomas

+0

Ja, Sie haben Recht nur LSI unterstützt konsistente Lesevorgänge. –

Verwandte Themen