Mit der Amazon Kinesis Client Library (KCL) für Java können Java -Entwickler Daten von Amazon Kinesis -Datenströmen problemlos konsumieren und verarbeiten.
Nachdem Sie den Code von GitHub heruntergeladen haben, können Sie ihn mit Maven erstellen. Verwenden Sie diesen Befehl, um die GPG -Unterzeichnung im Build zu deaktivieren: mvn clean install -Dgpg.skip=true . Hinweis: In diesem Befehl werden Integrationstests ausgeführt.
Fügen Sie die Eigenschaft -Dskip.ut=true hinzu, um laufende Unit -Tests im Build zu deaktivieren.
Beachten Sie, dass die Ausführung von Integrationstests AWS -Ressourcen erzeugt. Integrationstests erfordern gültige AWS -Anmeldeinformationen. Dies sucht nach einem Standard -AWS -Profil, das in Ihren lokalen .aws/credentials angegeben ist. So führen Sie alle Integrationstests aus: mvn verify -DskipITs=false . Geben Sie die Integrationstestklasse an: mvn -Dit.test="BasicStreamConsumerIntegrationTest" -DskipITs=false verify optional können Sie den Namen eines IAM -Benutzers angeben, um Tests als Zeichenfolge mit diesem Befehl auszuführen. mvn -DskipITs=false -DawsProfile="<PROFILE_NAME>" verify .
Für Produzenten-Seiten-Entwickler, die die Kinesis Producer Library (KPL) verwenden, integriert sich die KCL ohne zusätzliche Anstrengungen. Wenn der KCL einen aggregierten Amazon Kinesis -Datensatz abruft, der aus mehreren KPL -Benutzerdatensätzen besteht, werden die KPL automatisch aufgerufen, um die einzelnen Benutzerdatensätze zu extrahieren, bevor sie an den Benutzer zurückgegeben werden.
Um es Entwicklern zu erleichtern, Datensatzprozessoren in anderen Sprachen zu schreiben, haben wir einen Java -basierten Daemon implementiert, der als Multilangdaemon bezeichnet wird und das ganze schwere Heben macht. In unserem Ansatz wird der Daemon einen Unterprozess hervorbringen, der wiederum den Rekordprozessor ausführt, der in jeder Sprache geschrieben werden kann. Der Multilangdaemon-Prozess und der Subprozess des Datensatzprozessors kommunizieren miteinander über Stdin und Stdout mit einem definierten Protokoll. Es wird eine eins zu eins -Korrespondenz zwischen Rekordprozessoren, Kinderprozessen und Scherben geben. Für Python -Entwickler haben wir diese Implementierungsdetails abstrahiert und eine Schnittstelle enthüllt, mit der Sie sich auf das Schreiben von Datensatzverarbeitungslogik in Python konzentrieren können. Dieser Ansatz ermöglicht es KCL, agnostisch Sprache zu sein und gleichzeitig identische Merkmale und ein ähnliches paralleles Verarbeitungsmodell in allen Sprachen bereitzustellen.
Die empfohlene Möglichkeit, die KCL für Java zu verwenden, besteht darin, sie von Maven zu konsumieren.
< dependency >
< groupId >software.amazon.kinesis</ groupId >
< artifactId >amazon-kinesis-client</ artifactId >
< version >3.0.1</ version >
</ dependency >Version 2.x Tracking Branch
< dependency >
< groupId >software.amazon.kinesis</ groupId >
< artifactId >amazon-kinesis-client</ artifactId >
< version >2.6.0</ version >
</ dependency >Version 1.x Tracking Branch
< dependency >
< groupId >com.amazonaws</ groupId >
< artifactId >amazon-kinesis-client</ artifactId >
< version >1.14.1</ version >
</ dependency >Wichtig Wir empfehlen, die neueste KCL -Version für eine verbesserte Leistung und Unterstützung zu verwenden.
| KCL -Version | Changelog |
|---|---|
| 3.x | Master/Changelog.md |
| 2.x | v2.x/changelog.md |
| 1.x | v1.x/changelog.md |
Wir empfehlen Kunden, auf 1.14.1 oder neuer zu migrieren, um bekannte Fehler in der Version 1.14.0 zu vermeiden
Für Benutzer von Version 2.0 des Amazon Kinesis -Clients ist es dringend empfohlen, auf Version 2.0.3 oder höher zu upgraden. Ein Fehler wurde in Versionen vor 2.0.3 identifiziert, die dazu führen können, dass Datensätze an den falschen Datensatzprozessor geliefert werden. **
Helfen Sie uns, die Kinesis -Client -Bibliothek zu verbessern! Ihre Beteiligung ist entscheidend für die Verbesserung der Kinesis -Client -Bibliothek. Wir laden Sie ein, sich unserer Community anzuschließen und auf folgende Weise beizutragen:
Durch die Teilnahme über diese Kanäle spielen Sie eine wichtige Rolle bei der Gestaltung der Zukunft der Kinesis -Client -Bibliothek. Wir schätzen Ihre Eingabe und freuen uns auf die Zusammenarbeit mit Ihnen!