Apache Nifi

Apache Nifi包含多种处理器,如GetHTTP用于从指定URL获取数据并记录Etag和修改时间,减少服务端负担;ListenHTTP监听HTTP/HTTPS请求,接收POST参数到FlowFile;InvokeHTTP提供更灵活的HTTP请求配置;PostHTTP将FlowFile内容作为POST请求发送,常用于跨NiFi实例的数据交换;HandleHttpRequest和HandleHttpResponse则用于启动HTTP服务,处理请求和响应。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2.3.9 HTTP协议类处理器单元
GetHTTP

GetHTTP处理器单元对配置的http或者https协议的URL发起请求并将返回结果输出到新的FlowFile中。而且GetHTTP会记录Etag和最新数据修改时间避免不停的访问给服务端产生不必要的开销。如下图


ListenHTTP

ListenHTTP处理器单元监听Http或者Https请求,如果有请求先返回200然后将POST的请求参数输出到新的FlowFile中。


上面的图中表示Processor监听locahost的http请求,请求URL为http://localhost:9080/contentListener
InvokeHTTP

InvokeHTTP处理器单元能够根据用户的配置发送HTTP协议请求。InvokeHTTP处理器单元通过更多的配置可以完成比GetHTTP和PostHTTP更多的功能。如下图


PostHTTP

PostHTTP处理器单元将FlowFile的内容作为HTTP POST请求的body消息。它通常与ListenHTTP处理器单元组合使用,应用于当多个NiFi实例之间不能通过Site-to-Site的方式进行数据交换的场景。如下图


HandleHttpRequest / HandleHttpResponse
HandleHttpRequest处理器单元可以作为一个源处理器单元来启动一个HTTP监听服务功能,类似于ListenHTTP。但是这个处理器不响应客户端,它将请求的参数以FlowFile的内容和属性的方式,响数据流的下游进行传递。HandleHttpResponse处理器单元能够响应并将处理后的FlowFile结果返回请求的客户端。这两个处理器通常都是在一起被使用的。

### 关于 Apache NiFi 的入门指南 Apache NiFi 是一款强大的数据集成工具,设计用于自动化管理来自不同源到目标的数据流动。对于初次使用者而言,《第二章 Apache NiFi 入门指南》提供了一个简洁明了的学习路径[^1]。 #### 安装与配置 为了启动并运行 NiFi 实例,用户需下载最新版本的软件包,并按照官方文档中的指导完成安装过程。一旦设置完毕,通过浏览器访问 http://localhost:8080/nifi 即可进入图形化界面。 #### 基础概念介绍 - **FlowFile**: 表示正在处理的数据单元。 - **Processor**: 执行具体操作的任务组件,如获取文件、转换内容等。 - **Connection**: 连接 Processor 之间的通道,定义数据传输方向。 - **Process Group**: 将多个 Processors 和 Connections 组合成逻辑单元。 - **Controller Services**: 提供共享服务给其他组件使用的辅助功能模块。 #### 创建简单工作流实例 假设有一个需求是从本地磁盘读取日志文件并将它们发送至远程服务器存储: 1. 使用 `GetFile` Processor 获取指定目录下的新文件; 2. 应用 `UpdateAttribute` 修改 FlowFiles 属性(例如添加时间戳); 3. 利用 `PutSFTP` 或者 `PutHTTP` 发送经过加工后的记录到目的地; ```xml <process-group name="Log Transfer"> <!-- Get log files from local filesystem --> <processor type="org.apache.nifi.processors.standard.GetFile"/> <!-- Update attributes of the flow file --> <processor type="org.apache.nifi.processors.attributes.UpdateAttribute"/> <!-- Send processed logs via SFTP or HTTP --> <processor type="org.apache.nifi.processors.standard.PutSFTP"/> </process-group> ``` 此段 XML 片段展示了如何在一个名为 "Log Transfer" 的 Process Group 中组织上述三个处理器来实现基本的日志转移流程。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值