La Biblioteca de Clientes de Amazon Kinesis (KCL) para Java permite a los desarrolladores de Java consumir y procesar fácilmente datos de Amazon Kinesis Data Streams.
Después de haber descargado el código de GitHub, puede construirlo usando Maven. Para deshabilitar la firma de GPG en la compilación, use este comando: mvn clean install -Dgpg.skip=true
. Nota: Este comando no ejecuta pruebas de integración.
Para deshabilitar las pruebas unitarias en la compilación, agregue la propiedad -Dskip.ut=true
.
Tenga en cuenta que ejecutar pruebas de integración crea recursos de AWS. Las pruebas de integración requieren credenciales de AWS válidas. Esto buscará un perfil AWS predeterminado especificado en sus .aws/credentials
locales. Para ejecutar todas las pruebas de integración: mvn verify -DskipITs=false
. Para ejecutar una prueba de integración, especifique la clase de prueba de integración: mvn -Dit.test="BasicStreamConsumerIntegrationTest" -DskipITs=false verify
opcionalmente puede proporcionar el nombre de un usuario/rol de IAM para ejecutar pruebas con una cadena usando este comando: mvn -DskipITs=false -DawsProfile="<PROFILE_NAME>" verify
.
Para los desarrolladores del lado del productor que usan la Biblioteca de Productores de Kinesis (KPL) , el KCL se integra sin esfuerzo adicional. Cuando el KCL recupera un registro agregado de Amazon Kinesis que consta de múltiples registros de usuario de KPL, invocará automáticamente el KPL para extraer los registros de usuario individuales antes de devolverlos al usuario.
Para facilitar a los desarrolladores escribir procesadores récord en otros idiomas, hemos implementado un demonio basado en Java, llamado Multilangdaemon que hace todo el trabajo pesado. Nuestro enfoque hace que el demonio genere un subproceso, que a su vez ejecuta el procesador de discos, que puede escribirse en cualquier idioma. El proceso Multilangdaemon y el subproceso del procesador Registro se comunican entre sí a través de Stdin y Stdout utilizando un protocolo definido. Habrá una correspondencia de uno a uno entre procesadores de registros, procesos infantiles y fragmentos. Para los desarrolladores de Python específicamente, hemos abstraído estos detalles de implementación y exponemos una interfaz que le permite concentrarse en escribir lógica de procesamiento de registros en Python. Este enfoque permite que KCL sea un lenguaje agnóstico, al tiempo que proporciona características idénticas y un modelo de procesamiento paralelo similar en todos los idiomas.
La forma recomendada de usar el KCL para Java es consumirlo de Maven.
< dependency >
< groupId >software.amazon.kinesis</ groupId >
< artifactId >amazon-kinesis-client</ artifactId >
< version >3.0.1</ version >
</ dependency >
Rama de seguimiento de la versión 2.x
< dependency >
< groupId >software.amazon.kinesis</ groupId >
< artifactId >amazon-kinesis-client</ artifactId >
< version >2.6.0</ version >
</ dependency >
Versión 1.x Rama de seguimiento
< dependency >
< groupId >com.amazonaws</ groupId >
< artifactId >amazon-kinesis-client</ artifactId >
< version >1.14.1</ version >
</ dependency >
Importante recomendamos usar la última versión de KCL para mejorar el rendimiento y el soporte.
Versión KCL | Colegio de cambios |
---|---|
3.x | maestro/Changelog.md |
2.x | v2.x/changelog.md |
1.x | v1.x/changelog.md |
Recomendamos a los clientes que migren a 1.14.1 o más nuevo para evitar errores conocidos en la versión 1.14.0
Es muy recomendable para que los usuarios de la versión 2.0 del cliente de Amazon Kinesis se actualicen a la versión 2.0.3 o posterior. Se ha identificado un error en versiones antes de 2.0.3 que podrían hacer que los registros se entreguen al procesador de registros incorrecto. **
¡Ayúdanos a mejorar la biblioteca de clientes Kinesis! Su participación es crucial para mejorar la biblioteca de clientes Kinesis. Te invitamos a unirnos a nuestra comunidad y contribuir de las siguientes maneras:
Al participar a través de estos canales, juega un papel vital en la configuración del futuro de la Biblioteca de clientes Kinesis. ¡Valoramos su aporte y esperamos colaborar con usted!