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客户库的未来中发挥至关重要的作用。我们重视您的意见,并期待与您合作!