【问题标题】:Apache NiFi Create Process Group with my own IDApache NiFi 使用我自己的 ID 创建进程组
【发布时间】: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 .

参考文献

https://nifi.apache.org/docs/nifi-docs/rest-api/index.html

【问题讨论】:

    标签: apache-nifi


    【解决方案1】:

    简短的回答是不,您不能指定 UUID,它将始终由 NiFi 分配。我相信该字段被标记为可选,因为您可以提供它而不会产生错误,但它将被忽略 - 例如当您上传模板或其他流定义时。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-06
      • 1970-01-01
      • 1970-01-01
      • 2010-12-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多