热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何使用Rest-API更改Nifi变量注册表

如何解决《如何使用Rest-API更改Nifi变量注册表》经验,为你挑选了1个好方法。

我知道可以使用rest-api检索变量注册表中的值,但是有没有办法设置变量值?当我更改变量时,我看到发送了以下POST:

http://localhost:8080/nifi-api/process-groups/{ID}/variable-registry/update-requests

但是我不太了解VariableRegistryEntity在哪里发挥作用,或者如何处理变量。

更广泛地说,我想做的是在另一个程序的自定义Nifi处理器中操作变量,因此,欢迎您提供任何指导或想法。



1> Shu..:

所有变量(键,值)都存储在变量注册表中,当我们更新/创建变量时,我们将在后端进行更新请求rest api调用。

如果您正在构建自定义的处理器使用the variables,那么你需要create processor使表达式语言,那么你可以通过使用参考变量nifi expression language ${variable_name}将与替换variable_value at run time

请参阅此链接,以获取有关NiFi中的变量注册表的更多详细信息。

如果您需要在Nifi中更新/创建任何变量,则可以使用以下rest api调用:

bash$ curl -i -H 'Content-Type: application/json' -X POST -d '{\
    "processGroupRevision": {\
        "clientId": "",\
        "version": 0\
    },\
    "variableRegistry": {\
        "processGroupId": "",\
        "variables": [{\
            "variable": {\
                "name": "",\
                "value": ""\
            }\
        }]\
    }\
}' /nifi-api/process-groups//variable-registry/update-requests

该curl调用将更新值

如果已经定义变量并且更改了值,则停止并启动所有受影响的控制器服务和处理器

如果尚未定义变量,则使用定义的值创建新变量。

如何获得ClientID?

您可以进行以下Get Rest api调用:

curl -X GET /nifi-api/process-groups//variable-registry

从响应中,您可以获取clientID详细信息。


还想提到NiFi CLI具有set-var命令,可以帮助自动执行此处提到的REST API调用
推荐阅读
author-avatar
路啦Nantale
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有