Клиентская библиотека Amazon Kinesis (KCL) для Java позволяет разработчикам Java легко потреблять и обрабатывать данные из потоков данных Amazon Kinesis.
После того, как вы загрузили код из GitHub, вы можете построить его с помощью Maven. Чтобы отключить подписание GPG в сборке, используйте эту команду: mvn clean install -Dgpg.skip=true . Примечание. Эта команда не выполняет интеграционные тесты.
Чтобы отключить бегущие модульные тесты в сборке, добавьте свойство -Dskip.ut=true .
Обратите внимание, что запуск интеграционных тестов создает ресурсы AWS. Интеграционные тесты требуют действительных учетных данных AWS. Это будет искать профиль AWS по умолчанию, указанный в вашем .aws/credentials . Для запуска всех интеграционных тестов: mvn verify -DskipITs=false . Чтобы запустить одну интеграционную тестирование, укажите класс тестов интеграции: mvn -Dit.test="BasicStreamConsumerIntegrationTest" -DskipITs=false verify необязательно, вы можете предоставить имя пользователя/роли IAM для запуска тестов в качестве строки, используя эту команду: mvn -DskipITs=false -DawsProfile="<PROFILE_NAME>" verify .
Для производителей разработчиков, использующих библиотеку производителей Kinesis (KPL) , KCL интегрируется без дополнительных усилий. Когда KCL получает агрегированную запись Amazon Kinesis, состоящую из нескольких записей пользователей 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 версия | Изменение |
|---|---|
| 3.x | Master/ChangeLog.md |
| 2.x. | v2.x/Changelog.md |
| 1.x | v1.x/Changelog.md |
Мы рекомендуем клиентам мигрировать на 1.14.1 или новее, чтобы избежать известных ошибок в версии 1.14.0
Настоятельно рекомендуется для пользователей версии 2.0 клиента Amazon Kinesis для обновления до версии 2.0.3 или более поздней версии. До 2,0.3 была определена ошибка, которая может привести к тому, что записи могут быть доставлены в неправильный процессор записи. **
Помогите нам улучшить клиентскую библиотеку Kinesis! Ваше участие имеет решающее значение для улучшения клиентской библиотеки Kinesis. Мы приглашаем вас присоединиться к нашему сообществу и внести свой вклад следующим образом:
Участвуя через эти каналы, вы играете жизненно важную роль в формировании будущего клиентской библиотеки Kinesis. Мы ценим ваш ввод и с нетерпением ждем сотрудничества с вами!