6

Ich verwende Data Pipeline (DP) für tägliche Backups von DynamoDB, jedoch möchte ich inkrementelle Backups der Daten machen, die von DP-Läufen übersehen werden (Updates zwischen DP-Läufen). Um dies zu erreichen, möchte ich DynamoDB Streams + Lambda + S3 verwenden, um DynamoDB-Updates in Echtzeit in S3 zu bringen. Ich verstehe, wie DynamoDB-Streams arbeiten, jedoch habe ich Probleme mit der Erstellung einer Lambda-Funktion, die in S3 schreibt und sagt, jede Stunde eine Datei rollt.DynamoDB Streams zu S3

Hat jemand es versucht?

+1

Was meinst du mit "rollt eine Datei jede Stunde"? Sie können nicht an Dateien in S3 anhängen. Sie müssten für jedes Update neue Dateien erstellen, wenn Sie nicht jedes Mal die gesamte Datei lesen, Daten hinzufügen und dann erneut in S3 schreiben möchten. Das klingt schmerzhaft. – garnaat

+0

Rollen einer Datei wie in log4j oder anderen Frameworks, wo Dateien basierend auf bestimmten Kriterien gerollt werden können. Ich weiß, dass Dateien in S3 unveränderlich sind, also habe ich mich gefragt, ob das überhaupt möglich ist. – user3293898

Antwort

7

Seine Stunde Job Alter, was Sie tun müssen, ist

  1. aktivieren Dynamo DB Update-Stream und befestigen aws bereitgestellt Lambda-Funktion https://github.com/awslabs/lambda-streams-to-firehose
  2. aktivieren Firehose Strom und über Funktion verwenden, um outs Aufzeichnungen einströmen Feuerwehrschlauch.
  3. Konfigurieren Sie Firehose, um die Datensätze an S3 auszugeben.

erledigt.

+0

Was ist, wenn Sie keinen Kamin zur Verfügung haben? –