Apache nifi 如何使用RESTAPI更改Nifi变量注册表
我知道可以使用RESTAPI检索变量注册表中的值,但是有没有办法设置变量值?当我更改一个变量时,我看到发送了以下帖子:Apache nifi 如何使用RESTAPI更改Nifi变量注册表,apache-nifi,Apache Nifi,我知道可以使用RESTAPI检索变量注册表中的值,但是有没有办法设置变量值?当我更改一个变量时,我看到发送了以下帖子: http://localhost:8080/nifi-api/process-groups/{ID}/variable-registry/update-requests 但是我真的不明白VariableRegistryEntity在哪里起作用,或者我可能如何操作变量 更广泛地说,我试图做的是从另一个程序中操纵定制Nifi处理器内的变量,因此欢迎提供任何关于如何操作的指导或想法
http://localhost:8080/nifi-api/process-groups/{ID}/variable-registry/update-requests
但是我真的不明白VariableRegistryEntity在哪里起作用,或者我可能如何操作变量
更广泛地说,我试图做的是从另一个程序中操纵定制Nifi处理器内的变量,因此欢迎提供任何关于如何操作的指导或想法 所有变量(键、值)都存储在变量注册表中当我们更新/创建变量时,我们将在后端进行更新请求rest api调用
如果您正在构建自定义处理器以使用变量
,则需要创建处理器
以启用表达式语言,然后可以使用nifi表达式语言引用变量${variable\u name}
将在运行时替换为变量值
有关NiFi中变量注册表的更多详细信息,请参阅链接
如果需要更新/创建Nifi中的任何变量,可以使用
下面是rest api调用:
curl -X GET <URL>/nifi-api/process-groups/<process-group-id>/variable-registry
bash$curl-i-H'内容类型:application/json'-X POST-d'{\
“processGroupRevision”:{\
“clientId”:“\
“版本”:0\
},\
“variableRegistry”:{\
“processGroupId”:“\
“变量”:[{\
“变量”:{\
“名称”:“\
“值”:”\
}\
}]\
}\
}'/nifi api/进程组//变量注册表/更新请求
此curl调用将更新值
- 如果变量已定义且值已更改,则停止并启动所有受影响的控制器服务和处理器。
- 如果变量尚未定义,则使用定义的值创建新变量
curl -X GET <URL>/nifi-api/process-groups/<process-group-id>/variable-registry
curl-xget/nifiapi/processgroups//变量注册表
从响应中,您可以获得clientID详细信息。所有变量(键、值)都存储在变量注册表中,当我们更新/创建变量时,我们将在后端进行更新请求rest api调用
如果您正在构建自定义处理器以使用变量
,则需要创建处理器
以启用表达式语言,然后可以使用nifi表达式语言引用变量${variable\u name}
将在运行时替换为变量值
有关NiFi中变量注册表的更多详细信息,请参阅链接
如果需要更新/创建Nifi中的任何变量,可以使用
下面是rest api调用:
curl -X GET <URL>/nifi-api/process-groups/<process-group-id>/variable-registry
bash$curl-i-H'内容类型:application/json'-X POST-d'{\
“processGroupRevision”:{\
“clientId”:“\
“版本”:0\
},\
“variableRegistry”:{\
“processGroupId”:“\
“变量”:[{\
“变量”:{\
“名称”:“\
“值”:”\
}\
}]\
}\
}'/nifi api/进程组//变量注册表/更新请求
此curl调用将更新值
- 如果变量已定义且值已更改,则停止并启动所有受影响的控制器服务和处理器。
- 如果变量尚未定义,则使用定义的值创建新变量
curl -X GET <URL>/nifi-api/process-groups/<process-group-id>/variable-registry
curl-xget/nifiapi/processgroups//变量注册表
您可以从响应中获得clientID详细信息。要使用nifi api和kerberos身份验证更新变量,您需要从nifi api获取令牌并获取版本号,然后将api卷曲以更新变量
PG-ID是进程组ID要使用nifi api和kerberos身份验证更新变量,需要从nifi api获取令牌并获取版本号,然后卷曲api以更新变量
PG-ID是进程组ID还想提到的是,NiFi CLI有一个set-var命令,可以帮助自动化前面提到的restapi调用 curl -k -X PUT https://nifi_hostname:port/nifi-api/process-groups/PG-ID/variable-registry -H 'Content-Type: application/json' -d '{"processGroupRevision":{"version":version_number},"variableRegistry":{"processGroupId":"PG-ID","variables":[{"variable":{"name":"web_site","value":"stackoverflow"}}]}}' -H "Authorization: Bearer $token"