我成功地获得了Kerberos票据,并使用画布对象执行了一些任务,但我仍然面临一些问题。我已经将代码包装成一个类,并具有这两个函数。
第一个函数getBulletinBoard从NiFi中检索公告栏中的所有消息,运行良好:
def getBulletinBoard(self):
canvas_id = canvas.get_bulletin_board()
return canvas_id第二个函数停止处理器应该停止一个处理器不工作,我已经硬性地把我的处理器id写进这个测试原因,并尝试了各种东西使它工作。
def stopProcessor(self):
try:
canvas.schedule_processor('d73136a7-6b8d-1914-a511-3c5acb2b5515',scheduled=False)
except nifi.rest.ApiException as e:
print(e.body)
return NoneStopProcessor函数的输出是
Traceback (most recent call last):
File "c:\Temp\nifi-rest\test1.py", line 176, in <module>
n.stopProcessor()
File "c:\Temp\nifi-rest\test1.py", line 162, in stopProcessor
canvas.schedule_processor('d73136a7-6b8d-1914-a511- 3c5acb2b5515',scheduled=False)
File "C:\python3.6_32\lib\site-packages\nipyapi\canvas.py", line 528, in schedule_processor
assert isinstance(processor, nipyapi.nifi.ProcessorEntity)AssertionError
我搞不懂为什么这不管用。
发布于 2018-06-14 07:19:03
张贴作为一个答案,这样问题就可以结束:
您最近编辑的代码中的错误是,schedule_processor希望传递一个nifi.ProcessorEntity对象,并且您将从处理器给它一个UUID字符串。
请尝试使用以下调用获取处理器对象:
nipyapi.canvas.get_processor('d73136a7-6b8d-1914-a511-3c5acb2b5515', 'id')
将来,您可以在任何调用上使用“帮助”命令来查看它所期望的参数,并且在http://nipyapi.readthedocs.io/中可以获得相同的信息。
https://stackoverflow.com/questions/49878046
复制相似问题