如何通过Curl REST API在NiFi处理器组内创建处理器?
使用Curl在NiFi处理器组内创建处理器
前提准备
- 确认NiFi API地址(默认
http://<nifi-host>:<nifi-port>/nifi-api,本地环境通常为http://localhost:8080/nifi-api) - 获取目标处理器组ID:从NiFi界面的处理器组详情URL中提取(格式类似
process-groups/xxxx-xxxx-xxxx-xxxx) - 确定要创建的处理器完整类名(比如
org.apache.nifi.processors.standard.GetFile)
1. 构造创建处理器的JSON请求体
新建processor.json文件,内容如下:
{ "component": { "type": "org.apache.nifi.processors.standard.GetFile", "name": "自定义GetFile处理器", "position": { "x": 150, "y": 200 } }, "revision": { "version": 0 } }
type:替换为目标处理器的完整类名name:设置处理器显示名称position:指定处理器在画布上的坐标,可按需调整revision.version:首次创建固定填0
2. 执行Curl命令创建处理器
运行以下命令,替换<processor-group-id>为实际的处理器组ID:
curl -X POST \ http://localhost:8080/nifi-api/process-groups/<processor-group-id>/processors \ -H "Content-Type: application/json" \ -d @processor.json
若NiFi启用了身份验证,需添加
-u 用户名:密码参数(比如-u admin:admin123)
3. 启动处理器(可选)
如果需要创建后直接启动处理器,按以下步骤操作:
步骤3.1 获取处理器的版本信息
先通过处理器ID(从创建请求的返回结果中获取)查询当前版本:
curl http://localhost:8080/nifi-api/processors/<processor-id>
从返回的JSON中提取revision.version的数值。
步骤3.2 发送启动请求
新建start-processor.json文件,内容如下(替换<current-version>为上一步获取的版本号):
{ "revision": { "version": <current-version> }, "state": "RUNNING" }
执行Curl命令启动:
curl -X PUT \ http://localhost:8080/nifi-api/processors/<processor-id>/run-status \ -H "Content-Type: application/json" \ -d @start-processor.json
内容的提问来源于stack exchange,提问作者sabby
相关产品推荐
相关产品推荐

