Verwenden des DynamoDB-Streams-Kinesis-Adapters zum Verarbeiten von Stream-Datensätzen - Amazon-DynamoDB

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verwenden des DynamoDB-Streams-Kinesis-Adapters zum Verarbeiten von Stream-Datensätzen

Die Verwendung des Amazon-Kinesis-Adapters ist die empfohlene Methode zum Verwenden von Streams aus Amazon DynamoDB. DynamoDB Streams API ähnelt bewusst dem von Kinesis Data Streams, einem Dienst für die Echtzeitverarbeitung von Streaming-Daten in großem Umfang. In beiden Services bestehen die Daten-Streams aus Shards. Dieses sind Container für Stream-Datensätze. Beide Dienste APIs beinhalten, ListStreamsDescribeStream, GetShards und Operationen. GetShardIterator (Diese DynamoDB-Streams-Aktionen ähneln ihren Gegenstücken in Kinesis Data Streams, sind jedoch nicht vollkommen identisch.)

Sie können Anwendungen für Kinesis Data Streams mithilfe der Kinesis Client Library () KCL schreiben. Das KCL vereinfacht die Codierung, indem es nützliche Abstraktionen über den Kinesis Data Streams auf niedriger Ebene bereitstellt. API Weitere Informationen zu finden Sie unter Developing Consumers using the Kinesis Client Library im Amazon Kinesis Data Streams Developer Guide. KCL

Die aktuelle KCL Version 1.x mit AWS SDK for Java v1.x wird während ihres gesamten Lebenszyklus weiterhin vollständig unterstützt, um Stabilität und Leistung zu gewährleisten. Wenn Sie die bestehende Version verwendenSDK, werden Ihre vorhandenen Anwendungen, die AWS SDK for Java Version 1.x verwenden, während der Übergangszeit gemäß den Wartungsrichtlinien für Tools weiterhin wie vorgesehen funktionieren.AWS SDKs

Als DynamoDB Streams Streams-Benutzer können Sie die in der enthaltenen Entwurfsmuster verwenden, KCL um DynamoDB Streams Streams-Shards und Stream-Datensätze zu verarbeiten. Verwenden Sie dazu den DynamoDB-Streams-Kinesis-Adapter. Der Kinesis-Adapter implementiert die Kinesis Data Streams-Schnittstelle, sodass sie für die Nutzung und Verarbeitung von Datensätzen aus DynamoDB Streams verwendet werden KCL kann. Anweisungen zur Einrichtung und Installation des DynamoDB Streams Kinesis Adapters finden Sie im Repository. GitHub

Das folgende Diagramm zeigt, wie diese Bibliotheken miteinander interagieren.

Interaktion zwischen DynamoDB Streams, Kinesis Data Streams und KCL zur Verarbeitung von DynamoDB-Streams-Datensätzen.

Wenn der DynamoDB Streams Kinesis Adapter installiert ist, können Sie mit der Entwicklung anhand der KCL Schnittstelle beginnen, wobei die API Aufrufe nahtlos an den DynamoDB Streams Streams-Endpunkt weitergeleitet werden.

Wenn Ihre Anwendung gestartet wird, ruft sie den auf, um einen Worker zu instanziierenKCL. Sie müssen dem Worker Konfigurationsinformationen für die Anwendung, wie z. B. den Stream-Deskriptor und die AWS Anmeldeinformationen, sowie den Namen einer von Ihnen angegebenen Datensatzprozessorklasse zur Verfügung stellen. Da der Code im Datensatzprozessor ausgeführt wird, erledigt der Worker die folgenden Aufgaben:

  • Stellt eine Verbindung mit dem Stream her

  • Listet die Shards innerhalb des Streams auf

  • Koordiniert Shard-Zuordnungen mit anderen Auftragnehmern (wenn vorhanden)

  • Instanziiert einen Datensatzverarbeiter für jeden Shard, der verwaltet wird

  • Ruft Datensätze aus dem Stream per Pull ab

  • Überträgt per Push Datensätze an den entsprechenden Datensatzverarbeiter

  • Verwendet Checkpoints für verarbeitete Datensätze

  • Gleicht Shard-Auftragnehmer-Zuordnungen aus, wenn die Auftragnehmer-Instance Änderungen zählt

  • Gleicht Shard-Worker-Zuordnungen aus, wenn Shards aufgeteilt werden

Anmerkung

Eine Beschreibung der hier aufgeführten KCL Konzepte finden Sie unter Developing Consumer using the Kinesis Client Library im Amazon Kinesis Data Streams Developer Guide.

Weitere Informationen zur Verwendung von Streams mit finden Sie unter AWS Lambda DynamoDB Streams und -Trigger AWS Lambda