如何配置Nifi Provenance结果对话框展示自定义属性?
NiFi自定义Provenance属性展示方案
当前Apache NiFi没有提供开箱即用的配置项,可直接将已索引的自定义Provenance属性添加到结果表格展示列中,需通过修改源码实现需求,具体调整位置如下:
后端修改点
- 事件返回字段扩展:对应源码路径为
nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/controller/ProvenanceResource.java,在构建Provenance事件返回DTO的逻辑中,读取你需要展示的自定义属性值,写入DTO的扩展字段中。 - 可选通用配置扩展:如果需要支持灵活配置展示属性,可在
nifi.properties中新增自定义配置项如nifi.provenance.repository.display.attributes,在nifi-framework-core/src/main/java/org/apache/nifi/util/NiFiProperties.java中添加该配置的读取方法,后端逻辑中动态读取配置的属性列表返回给前端。
前端修改点
- 表格列配置调整:Provenance结果表格的列定义逻辑位于
nifi-frontend/nifi-app/src/app/features/provenance/provenance-results/provenance-results.component.ts(1.20之前的旧版本路径为nifi-ui-angular/src/app/components/provenance/provenance-results.component.ts),在列配置数组中追加自定义属性对应的列,绑定后端返回的对应字段即可。 - 可选动态列实现:如果配合后端的通用展示配置,可新增接口拉取后端配置的展示属性列表,前端动态生成列配置,后续新增展示属性无需修改前端代码。
提示:修改完成后需重新编译NiFi安装包部署生效,建议先在测试环境验证修改对Provenance仓库查询性能、稳定性的影响,再上线到生产环境。
内容的提问来源于stack exchange,提问作者vamyip
相关产品推荐
相关产品推荐

