nifi nipyapi给了我错误

时间:2018-04-17 12:22:57

标签: python apache-nifi

我设法得到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

我无法弄清楚为什么这不起作用

1 个答案:

答案 0 :(得分:0)

发布作为答案,以便可以结束问题:

最新编辑中代码中的错误是schedule_processor期望传递一个nifi.ProcessorEntity对象,并且您从处理器给它一个UUID字符串。

请尝试使用以下调用获取Processor对象:
nipyapi.canvas.get_processor('d73136a7-6b8d-1914-a511-3c5acb2b5515', 'id')

将来,您可以使用&#39;帮助&#39;在任何调用上命令查看它所期望的参数,http://nipyapi.readthedocs.io/

中提供相同的信息