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 。要運行一個集成測試,請指定集成測試類: mvn -Dit.test="BasicStreamConsumerIntegrationTest" -DskipITs=false verify ,您可以提供IAM用戶/角色的名稱,以使用此命令:使用此命令: mvn -DskipITs=false -DawsProfile="<PROFILE_NAME>" verify 。
對於使用Kinesis生產者庫(KPL)的生產者側開發人員,KCL無需付出額外的努力而集成。當KCL檢索由多個KPL用戶記錄組成的匯總的亞馬遜運動記錄時,它將自動調用KPL以提取單個用戶記錄,然後再將其返回給用戶。
為了使開發人員更容易用其他語言編寫記錄處理器,我們實施了一個基於Java的守護程序,稱為Multilangdaemon,可以完成所有繁重的舉重。我們的方法具有守護程序產生的子過程,進而運行記錄處理器,可以用任何語言編寫。 Multilangdaemon進程和記錄處理器子過程使用定義的協議通過STDIN和Stdout相互通信。記錄處理器,兒童過程和碎片之間將有一對一的對應關係。對於Python的開發人員,我們已經將這些實現詳細信息抽象了,並揭示了一個接口,使您能夠專注於Python中的記錄處理邏輯。這種方法使KCL成為語言不可知論,同時在所有語言中提供相同的功能和相似的並行處理模型。
建議將KCL用於Java的推薦方法是從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.1或更新,以避免1.14.0版中的已知錯誤
強烈建議使用Amazon Kinesis客戶端2.0版的用戶升級到2.0.3版或更高版本。在2.0.3之前的版本中已經確定了一個錯誤,這可能會導致記錄交付給錯誤的記錄處理器。**
幫助我們改善運動端客戶庫!您的參與對於增強運動端客戶庫至關重要。我們邀請您加入我們的社區,並通過以下方式做出貢獻:
通過通過這些渠道參與,您可以在塑造Kinesis客戶庫的未來中發揮至關重要的作用。我們重視您的意見,並期待與您合作!