NiFi NiPyApi 给我错误

NiFi NiPyApi gives me errors

我设法获得了 Kerberos 票证并使用 canvas 对象执行了一些任务,但我仍然面临一些问题。 我已将代码包装到 class 中并具有这两个功能

第一个函数 getBulletinBoard 从 NiFi 中检索公告板中的所有消息,它工作正常:

def getBulletinBoard(self):
    canvas_id = canvas.get_bulletin_board()
    return canvas_id

第二个函数 Stop Processor should stop a processor 不工作,出于测试原因,我已经将我的处理器 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)

断言错误

我不明白为什么这不起作用。

作为答案发布以便关闭问题:

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

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

将来,您可以在任何调用中使用 'help' 命令来查看它期望的参数,并且可以在 http://nipyapi.readthedocs.io/

中获得相同的信息