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