我正在尝试使用Python的KCL库(https://github.com/awslabs/amazon-kinesis-client-python)构建Amazon Kinesis Python使用者。我从检查示例代码开始。我能够运行示例代码的生产者和用户脚本部分,但我无法验证是否将来自我的kinesis流(带有一个分片)的数据推送到示例Python使用者脚本sample_kclpy_app.py
。如何验证Amazon Kinesis Python客户端正在工作
我使用amazon_kclpy_helper.py
来生成可通过sample.properties
文件调用Python脚本的Java命令。我运行了Java命令,并且我可以从终端输出中看到正在读取Kinesis流中的数据。我在Python使用者脚本的process_record
函数中添加了一条print
语句来检查数据是否被推送到它。但它不会显示在终端输出中。
我也尝试使用logging
生成STDOUT消息以及写入文件。我还在Python代码中添加了assert 0
行以强制脚本失败,并看到日志输出中会出现异常。然后,我故意在Python代码中添加了一个语法错误。但是,似乎所有这些都未被Java MultiLangDaemon检测到,它只是继续前进并产生INFO日志消息。
可能是什么问题? 是否有更好的方法来检查数据是否确实发送到Python使用者脚本的process_record
函数?
我还必须重新运行'python setup.py install' – sheldonkreger