NiFi1.25版本HTTPS模式下RestAPI使用入门

avatar
作者
筋斗云
阅读量:4

Apache NiFi 是一个强大的数据流处理工具,通过其 REST API,用户可以远程管理和控制数据流处理器。本文将介绍如何使用 NiFi 1.25 版本HTTPS 模式下Rest API,包括获取 token、获取组件信息、启动和停止组件、以及更改组件的调度频率等操作。

1. Rest API 简介及适用场景

NiFi 的 Rest API 允许用户通过 HTTP 请求来管理和监控数据流处理器。这种灵活性使得用户可以自动化工作流程、集成 NiFi 到其他系统中,或者创建定制化的管理界面。

图片

适用场景:

  • 自动化数据流的启动和停止。

  • 实时监控数据流处理器的状态和性能指标。

  • 动态地更新数据流处理器的配置。

2. 如何获取 Token

在NiFi HTTPS模式下使用Rest API,需要进行身份验证。通常使用 OAuth 2.0 的 Bearer Token 进行认证。

获取 Token 的步骤:

  • 配置NiFi的安全策略,确保Rest API可以通过 HTTPS 进行访问。

  • 使用用户名和密码或其他认证方式获取 Bearer Token。这通常需要使用NiFi提供的身份验证端点进行请求。

# 提示:这里是使用url进行演示。生产环境中,可以使用java实现类似请求。# 要注意的是:用户名密码的安全性。如果使用spring微服务架构,可以将其配置到nacos中curl -X POST \  -H 'Content-Type: application/x-www-form-urlencoded' \  -d 'username=admin&password=mypassword123456' \  "https://ip:9443/nifi-api/access/token" --insecure

成功请求后,会返回一个token字符串。

3. 如何获取组件信息

获取 NiFi 中组件(如处理器)的信息是常见的操作,用于监控和配置调整。

获取组件信息的示例:

使用的Rest API:

图片

首先要拿到组件的ID,拼接到Rest API地址中:

其次,要将token放到请求头,如下图使用postman工具所示,注意:图中返回json中的version值,后面要用到。

图片

4. 如何启动组件

启动一个处于停止状态的组件是日常操作之一。

启动组件的示例如下,将下面的json放到截图所示的body中:

{    "component": {        "id": "11af14aa-1afb-1215-c6e9-3fb8412b2731",        "state": "RUNNING"    },    "revision": {        "version": 22    }}

5. 如何停止组件

停止一个正在运行的组件同样重要。

停止组件的示例,将下面的json放到截图所示的body中:​​​​​​​

{    "component": {        "id": "11af14aa-1afb-1215-c6e9-3fb8412b2731",        "state": "STOPPED"    },    "revision": {        "version": 23    }}

图片

6. 如何更改一个组件的调度频率

调整组件的调度频率可以根据实际需求灵活配置。更改组件调度频率之前,请先停止组件,更改频率成功后,再启动组件。

更改调度频率的示例:

curl -X PUT 'https://ip:9443/nifi-api/processors/11af14aa-1afb-1215-c6e9-3fb8412b2731' -d '{ "revision": {  "version": 25 }, "component": { "id": "11af14aa-1afb-1215-c6e9-3fb8412b2731", "config": { "schedulingPeriod": "6 min" } }}'  -H "Content-Type: application/json" -H 'Authorization: Bearer eyJraWQiOiJjZmRhNmM2Yi0zY2FmLTQwYTctODQ3Ny1lMzVkMzA0MDdkYjciLCJhbGciOiJQUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsImF1ZCI6Imh0dHBzOi8vbmlmaTo5NDQzIiwibmJmIjoxNzIwOTMwMjEyLCJpc3MiOiJodHRwczovL25pZmk6OTQ0MyIsImdyb3VwcyI6W10sInByZWZlcnJlZF91c2VybmFtZSI6ImFkbWluIiwiZXhwIjoxNzIwOTU5MDEyLCJpYXQiOjE3MjA5MzAyMTIsImp0aSI6ImQzMThiMzViLWUyYTUtNGI1Ny1iMzcyLTUwNGQ1ODU2Mjc2ZiJ9.ZBTEIaJEfoPn7riVBRfvRL0z1FoIE-3ISOPKFoQzkxck-ccQDZztgC9ZkOfnORKvBCPDsqss6VXR--TjoRsAao4Ymqm7uOdqcUfUF8rq50O0MlpchI0LhYo_T6SKQLaUtIiNOkEriF6vRzb19QDX4wEDjTZyO8tKQu5covgcIZ5qaDgD7J6jqR0XiEk3BBd5IZsJpQgBcy_j6qgo8bJTZI7oKWcZGuNzfXIQTb5iEKVPQIiQTEDHQaC8RtdxqPDDHe-YlbDykIXEJKc7QE6nZcd_sjDOtPNiNcTgFoOFA7jKBUXkBWkALpRTnyHrLFPLNSCQMDzn9xpJGgAc4etw8p0oLFOvCQlyega2t2qZRhZVH5JA_sYXTCFgUeq-u5iZUlBoW9Kc_25sefLy4A6eGYhe96E_q_8Dp5VT-Lt0NKXSug1-QUUJ-zTioL_nCbFkryutGkFLhh7z1i3x8Dq6mRJxavmYd8kkPtBUADucBb77EigS-Tas9Lwuto4a3BdNxQ3wiHspzsUnrCAw5dElN7m1-Gk5xP2FG_7bb7bb2cNU-1pkLZk3J4pUDm_YOUurC3X01qT7wwfSS52oZCdh6gtT8kylyHxdPRLZo3U8fl6Dvju0FlRW6NyZU53ND176EyzfL7JEshtFmOYB3W48gzhEtBi2m0-6GWljW-MQmEE' --compressed --insecure

7. 总结本文,指出后续示例

本文介绍了如何使用 NiFi1.25版本HTTPS模式下的 Rest API 进行基本操作,包括身份验证、获取组件信息、启动和停止组件,以及修改组件的配置。通过这些操作,用户可以更好地管理和控制NiFi中的数据流处理器。

建议进一步深入了解NiFi的 Rest API文档和实际应用场景,以更好地利用其强大的管理和控制能力。

通过这些示例和操作,希望读者能够快速上手NiFi的RestAPI,并在实际应用中发挥其优势。


NiFI工具学起来,没那么难,用起来真的很丝滑。为自己的NiFi视频教程做个广告:https://edu.csdn.net/course/detail/38508

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!