2017-01-03 2 views
2

Also ich bin neu bei Amazon S3 und habe mich gefragt, ob jemand helfen könnte, diese Fragen zu beantworten.Wie behandelt aws s3 Datei und Zugriff?

Ich habe eine Reihe von statischen API/JSON-Dateien, die verwendet werden, um eine mobile App, während die JSON-Daten zum größten Teil statisch ist ein Update kann jederzeit ausgelöst werden, wodurch die Daten aktualisiert werden und die JSON-Datei als solche auch aktualisiert.

Meine Fragen ist, wie amazon Dateiaktualisierungen in Bezug auf den Zugriff behandeln, was ich damit meine, wenn eine Person auf die Datei zu der Zeit zugreifen möchte ich werde blockiert werden oder amazon Mitarbeiter einige Dateicache um dies zu verhindern.

Danke!

+0

Wenn Sie sich über veraltete Daten in Ihrer API Sorgen machen, können Sie Dynamodb mit bedingten Schreibvorgängen und stark konsistenten Lesevorgängen verwenden. Bedingte Schreibvorgänge ermöglichen Änderungen an den Daten, wenn sich die Daten seit dem letzten Lesevorgang nicht geändert haben. Und [stark konsistente Lesevorgänge] (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadConsistency.html) werden immer die gleichen Daten über alle Dynamodb-Knoten geben. [Arbeiten mit bedingten Schreibvorgängen] (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithItems.html#WorkingWithItems.ConditionalUpdate) – strongjz

Antwort

3

Sie werden nicht blockiert, aber Sie können veraltete Daten erhalten, wenn das Objekt bereits existiert und kürzlich ersetzt oder gelöscht wurde.

S3 bietet Lese-Nach-Schreib-Konsistenz für PUTs neuer Objekte.

S3 bietet eventuelle Konsistenz zum Überschreiben von PUT und DELETES. Das bedeutet, dass Benutzer2 eine veraltete Version von JSON erhalten konnte, obwohl Benutzer1 sie ersetzte (Subsekunde).

+0

Danke Dave! Dies sollte funktionieren, im Grunde trigger ich meine App nach Updates auf der Basis eines Cache-Schlüssels zu suchen, sobald Aktualisierungen vorgenommen wurden, und dies wird nur aktualisiert, nachdem die JSON-Datei erstellt wurde, so dass ich keine Probleme habe. – proxim0

2

Sie können Objekte in S3 nicht wirklich aktualisieren. Alles, was Sie tun können, ist das Speichern, Abrufen und Löschen eines gesamten Objekts. Um den Inhalt eines Objekts zu "aktualisieren", ersetzen Sie das gesamte Objekt.

Wenn Client A ein Ersatzobjekt hochlädt, und bevor der Upload bestätigt wird, greift Client B auf denselben Objektschlüssel zu, und ich erwarte, dass Client B das ursprüngliche Objekt erhält. Nach der Bestätigung, aber bevor das Objekt vollständig verteilt und konsistent ist, kann Client B das alte Objekt oder das neue Objekt abrufen. Danach würde Client B das neue Objekt erhalten.