我在文本文件
(sftp server)
中有一些
(sftp server)
,希望将这些值存储在
memory
或
global variables
中,以便在所有
ExecuteScript
处理器中使用。我有超过20
ExecuteScript
基于不同类型的数据路由,我需要在这些处理器中使用这些
key value pairs
。我不能将这些值存储为NiFi全局变量,因为对于NiFi数据流的每次运行,文件内容并不相同。
我期待的方式是当我的NiFi流启动时,这些文件内容必须存储
somewhere(memory/variables)
,这样我就可以在我的所有脚本中引用它。
这能办到吗?如能就此提出任何意见或建议,将不胜感激。
发布于 2020-01-15 07:22:02
有多种方法可以做到这一点。例如:
变量注册表
使用变量注册表。您已经指出了一个警告,即变量注册表不能动态更新。
YAML/JSON配置文件
将您的配置放入一个文件中(就像您已经拥有的那样)。使用ExecuteScript将键值对合并为属性。
Web服务
将配置文件包装在web服务中,并使用 InvokeHttp 查询它。计算响应并将值合并到FlowFile上的属性中。
DistributedMapCache
设置一个
DistributedMapCacheServer
和
客户端
。使用
PutDistributedMapCache
存储值,使用
FetchDistributedMapCache
将
Put Cache Value In Attribute
设置为true以获取值并将其放入属性中。
如何设置DistributedMapCache: https://stackoverflow.com/a/44591909/401025
https://stackoverflow.com/questions/59745005
复制相似问题
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2024 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号: 粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
天涯 · “可贵者胆,所要者魂”是什么意思?_百度知道 1 年前 |