Я пытаюсь построить потребитель Amazon Kinesis Python с использованием библиотеки KCL для Python (https://github.com/awslabs/amazon-kinesis-client-python). Я начал с проверки кода образца. Мне удалось запустить часть кода производителя и пользовательского скрипта в примере кода, но я не могу проверить, будут ли данные из моего потока кинезий (с одним осколком) подталкиваться к образцу Python для примера, sample_kclpy_app.py
.Как проверить, работает ли клиент Amazon Kinesis Python
Я использовал amazon_kclpy_helper.py
для генерации команды Java, которая вызовет скрипт Python через файл sample.properties
. Я запустил команду Java, и на выходе терминала я вижу, что данные из потока Kinesis читаются. Я добавил оператор print
в функции process_record
пользовательского скрипта Python, чтобы проверить, были ли данные перенесены на него. Но он не отображается на выходе терминала.
Я также попытался использовать logging
для генерации сообщений STDOUT, а также для записи в файл. Я также добавил строку assert 0
в коде Python, чтобы принудительно выполнить сбой сценария и увидеть, что в выводе журнала появится исключение. Затем я намеренно добавил синтаксическую ошибку в код Python. Тем не менее, похоже, что все они не были обнаружены Java MultiLangDaemon, который просто продолжал собирать и публиковать сообщения журнала INFO.
В чем может быть проблема? И есть ли лучший способ проверить, действительно ли данные отправляются в функцию process_record
пользовательского скрипта Python?
Мне также пришлось перезапустить 'python setup.py install' – sheldonkreger