我设法得到kerberos票并用canvas对象执行一些任务,但我仍然面临一些问题。 我已将代码包装到一个类中并具有这两个函数
第一个函数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 None
StopProcessor函数的输出是
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
我无法弄清楚为什么这不起作用
答案 0 :(得分:0)
发布作为答案,以便可以结束问题:
最新编辑中代码中的错误是schedule_processor期望传递一个nifi.ProcessorEntity对象,并且您从处理器给它一个UUID字符串。
请尝试使用以下调用获取Processor对象:
nipyapi.canvas.get_processor('d73136a7-6b8d-1914-a511-3c5acb2b5515', 'id')
将来,您可以使用&#39;帮助&#39;在任何调用上命令查看它所期望的参数,http://nipyapi.readthedocs.io/
中提供相同的信息