首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NiFi NiPyApi给了我错误

NiFi NiPyApi给了我错误
EN

Stack Overflow用户
提问于 2018-04-17 12:22:56
回答 1查看 561关注 0票数 0

我成功地获得了Kerberos票据,并使用画布对象执行了一些任务,但我仍然面临一些问题。我已经将代码包装成一个类,并具有这两个函数。

第一个函数getBulletinBoard从NiFi中检索公告栏中的所有消息,运行良好:

代码语言:javascript
复制
def getBulletinBoard(self):
    canvas_id = canvas.get_bulletin_board()
    return canvas_id

第二个函数停止处理器应该停止一个处理器不工作,我已经硬性地把我的处理器id写进这个测试原因,并尝试了各种东西使它工作。

代码语言:javascript
复制
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函数的输出是

代码语言:javascript
复制
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

我搞不懂为什么这不管用。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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/中可以获得相同的信息。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49878046

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档