# HuaweiCloud-NiFi-bundle
**Repository Path**: HuaweiCloudDeveloper/huaweicloud-nifi-bundle
## Basic Information
- **Project Name**: HuaweiCloud-NiFi-bundle
- **Description**: NiFi 是一个易于使用、功能强大而且可靠的流式数据处理和分发系统。NiFi 是为数据流设计,支持从多种数据源动态的拉取数据,并基于WEB图形界面,通过拖拽、连接、配置完成基于流程的编程,实现数据采集、处理等功能。
本仓库基于NiFi的扩展机制,提供针对华为云服务的扩展
- **Primary Language**: Unknown
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 4
- **Created**: 2023-01-05
- **Last Updated**: 2025-06-16
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Huawei-NiFi-bundle
### 介绍
NiFi 是一个易于使用、功能强大而且可靠的流式数据处理和分发系统。NiFi 是为数据流设计,支持从多种数据源动态的拉取数据,并基于WEB图形界面,通过拖拽、连接、配置完成基于流程的编程,实现数据采集、处理等功能。
本仓库基于NiFi的扩展机制,提供针对华为云服务的扩展
### 扩展功能说明
#### OBS
| Processor | Description | Input Required |
| ------------------ | ------------------------------------------------------------ | -------------- |
| ListOBSProcessor | 从obs桶中检索对象列表。对于列出的每个对象,创建一个表示该对象的FlowFile,以便与FetchOBSObject一起获取。此处理器设计为仅在集群中的主节点上运行。如果主节点发生了变化,新的主节点将从前一个节点停止的位置开始,而不会复制所有数据 | False |
| FetchOBSProcessor | 检索OBS对象的内容并将其写入到FlowFile的内容中 | True |
| PutOBSProcessor | 从输入的FlowFile中获取文件流,上传到OBS的指定桶,输入可以是FetchOBSProcessor也可以是其他任意包含文件Content的输入;支持大文件切分上传,当异常时可以以最小的损失恢复大型上传 | True |
| DeleteOBSProcessor | 根据输入的FlowFiles删除华为云OBS桶上的文件。如果试图删除一个不存在的文件,FlowFile将被路由到成功。 | True |
[^备注]: 更加详细的使用以及参数明细,请阅读对应Processor的Usage文档



#### DWS/DLI/CDM/SMN/DataArts
下一个版本集成...
### 安装教程
由于是基于NiFi的1.18版本进行的扩展,下载NiFi源码推荐选择1.18版本,可以避免对依赖文件的修改
1. 下载NiFi源码,将本仓库代码放到nifi-nar-bundles包中,如果未使用NiFi-1.18版本,需要修改各模块中pom.xml里面所有版本1.18.0到当前版本即可
2. 修改/usr/local/app/nifi-rel-nifi-${version}/nifi-assembly/pom.xml,新增依赖
```
org.apache.nifi
nifi-huawei-nar
${version}
nar
org.apache.nifi
nifi-huawei-service-api-nar
${version}
nar
```
修改 /usr/local/app/nifi-rel-nifi-${version}/nifi-nar-bundles/pom.xml,新增
```
nifi-huawei-bundle
```
3. 构建步骤参考NiFi社区的环境以及安装文档:
[快速开始](https://nifi.apache.org/quickstart.html)
[使用文档](https://nifi.apache.org/docs.html)