Apache NiFi - API

NiFi提供了大量的API,可以帮助开发人员进行更改并从任何其他工具或定制开发的应用程序中获取NiFi的信息。 在本教程中,我们将使用 google chrome 中的 postman 应用来解释一些示例。

要将 postman 添加到您的 Google Chrome,请转到下面提到的 URL,然后单击"添加到 Chrome"按钮。 您现在将看到一个新应用程序添加到您的 Google Chrome 中。

NiFi Rest API 的当前版本是 1.8.0,文档位于下面提到的 URL 中。

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

以下是最常用的 NiFi Rest API 模块 −

  • http://<nifi url>:<nifi port>/nifi-api/<api-path>

  • In case HTTPS is enabled https://<nifi url>:<nifi port>/nifi-api/<api-path>

S.No. API模块名称 api-path 描述
1 Access /access 对用户进行身份验证并从 NiFi 获取访问令牌。
2 Controller /controller 管理集群并创建报告任务。
3 Controller Services /controller-services 用于管理控制器服务和更新控制器服务引用。
4 Reporting Tasks /reporting-tasks 管理报告任务。
5 Flow /flow 获取数据流元数据以及组件状态和查询历史记录
6 Process Groups /process-groups 上传并实例化模板并创建组件。
7 Processors /processors 创建和调度Processor(处理器)并设置其属性。
8 Connections /connections 要创建连接,请设置队列优先级并更新连接目标
9 FlowFile Queues /flowfile-queues 查看队列内容、下载流文件内容和清空队列。
10 Remote Process Groups /remote-process-groups 创建远程组并启用传输。
11 Provenance /provenance 查询出处,并搜索事件沿袭。

现在让我们考虑一个示例并在 postman 上运行以获取有关正在运行的 NiFi 实例的详细信息。

请求

GET http://localhost:8080/nifi-api/flow/about

响应

{
   "about": {
      "title": "NiFi",
      "version": "1.7.1",
      "uri": "http://localhost:8080/nifi-api/",
      "contentViewerUrl": "../nifi-content-viewer/",
      "timezone": "SGT",
      "buildTag": "nifi-1.7.1-RC1",
      "buildTimestamp": "07/12/2018 12:54:43 SGT"
   }
}