JavaのAmazon Kinesisクライアントライブラリ(KCL)により、 Java開発者はAmazon Kinesisデータストリームから簡単にデータを消費して処理できます。
Githubからコードをダウンロードした後、Mavenを使用して構築できます。ビルドでGPGの署名を無効にするには、このコマンドを使用してください: mvn clean install -Dgpg.skip=true 。注:このコマンドは統合テストを実行しません。
ビルドで実行されているユニットテストを無効にするには、プロパティ-Dskip.ut=trueを追加します。
統合テストを実行すると、AWSリソースが作成されることに注意してください。統合テストには、有効なAWS資格情報が必要です。これにより、ローカル.aws/credentialsで指定されたデフォルトのAWSプロファイルが探しられます。すべての統合テストを実行するには: mvn verify -DskipITs=false 。 1つの統合テストを実行するには、統合テストクラスを指定します。MVN mvn -Dit.test="BasicStreamConsumerIntegrationTest" -DskipITs=false verify optionalでは、このコマンドを使用して文字列としてテストを実行するIAMユーザー/役割の名前を提供できます。 mvn -DskipITs=false -DawsProfile="<PROFILE_NAME>" verify 。
Kinesisプロデューサーライブラリ(KPL)を使用するプロデューサーサイド開発者の場合、KCLは追加の努力なしで統合します。 KCLが複数のKPLユーザーレコードで構成される集約されたAmazon Kinesisレコードを取得すると、CPLを自動的に呼び出して個々のユーザーレコードを抽出してからユーザーに返します。
開発者が他の言語でレコードプロセッサを作成しやすくするために、すべてのヘビーリフティングを行うMultilangdaemonと呼ばれるJavaベースのデーモンを実装しました。私たちのアプローチには、デーモンがサブプロセスを生み出しているため、任意の言語で記述できるレコードプロセッサが実行されます。 MultiLangdaemonプロセスとレコードプロセッササブプロセスは、定義されたプロトコルを使用してStdinとStdoutを介して互いに通信します。レコードプロセッサ、子供のプロセス、および破片の間に1対1の対応があります。特にPython開発者の場合、これらの実装の詳細を抽象化し、Pythonでレコード処理ロジックの作成に集中できるインターフェイスを公開しました。このアプローチにより、KCLは言語不可知論者になり、すべての言語で同一の機能と同様の並列処理モデルを提供します。
JavaにKCLを使用する推奨される方法は、Mavenからそれを消費することです。
< dependency >
< groupId >software.amazon.kinesis</ groupId >
< artifactId >amazon-kinesis-client</ artifactId >
< version >3.0.1</ version >
</ dependency >バージョン2.x追跡ブランチ
< dependency >
< groupId >software.amazon.kinesis</ groupId >
< artifactId >amazon-kinesis-client</ artifactId >
< version >2.6.0</ version >
</ dependency >バージョン1.x追跡ブランチ
< dependency >
< groupId >com.amazonaws</ groupId >
< artifactId >amazon-kinesis-client</ artifactId >
< version >1.14.1</ version >
</ dependency >重要なパフォーマンスとサポートを改善するために、最新のKCLバージョンを使用することをお勧めします。
| KCLバージョン | Changelog |
|---|---|
| 3.x | Master/Changelog.md |
| 2.x | v2.x/changelog.md |
| 1.x | v1.x/changelog.md |
1.14.0バージョンで既知のバグを避けるために、顧客は1.14.1以下に移行することをお勧めします
Amazon Kinesisクライアントのバージョン2.0のユーザーがバージョン2.0.3以降にアップグレードすることを強くお勧めします。 2.0.3より前のバージョンでバグが特定されており、レコードが間違ったレコードプロセッサに配信される可能性があります。**
Kinesisクライアントライブラリの改善を手伝ってください! Kinesisクライアントライブラリを強化するには、あなたの関与が重要です。コミュニティに参加して、次の方法で貢献するように勧めます。
これらのチャネルを通じて参加することで、Kinesisクライアントライブラリの将来を形作る上で重要な役割を果たします。私たちはあなたの意見を大切にし、あなたと協力することを楽しみにしています!