【发布时间】:2020-07-25 01:28:53
【问题描述】:
背景
根据 NiFi API 文档,id 是创建进程组请求的可选字段:
POST /process-groups/{id}/process-groups
{
"revision": {
"version" : 0
},
"id" : "8a698dd8-7947-43fd-8bdd-2d4f26ee3329",
"component": {
"name": "my-process-group-foo"
}
}
这将创建一个新的进程组作为{id} 进程组的子进程。我假设通过将 GUID 作为请求正文的一部分传入,将使用我传入的 GUID 创建生成的进程组。
通过测试,虽然我已经意识到创建的进程组被 NiFi 分配了一个id,并且不使用我传入的id。
来自上述示例的响应(精简)
{
"revision": {
"version": 1,
},
"id": "7d47183d-0173-1000-ffff-fffff6dceb50",
"component": {
"id": "7d47183d-0173-1000-ffff-fffff6dceb50",
"parentGroupId": "348a629f-0173-1000-a243-b2203c5b8272",
"name": "my-process-group-foo"
}
}
我没有使用我要求的 id 创建我的进程组,而是为其分配了一个全新的 id。
如果我尝试将 id 添加到 component 对象中,我会收到 400 错误 Process group ID cannot be specified.
问题
有没有办法使用我指定的id 创建进程组?
当我在多个集群(不同的数据中心)上运行相同的进程时,我目前正试图弄清楚如何从 NiFi Registry 更新版本化进程。我最初的想法是,如果我可以在所有集群上创建具有相同 id 的进程组,那么我可以让我的 CI/CD 管道创建一个版本更新请求,确信所有集群上都有相同的 id .
参考文献
【问题讨论】:
标签: apache-nifi