LoadConfig
1.概述
该组件用于将ini、yaml、properties或json类型的数据通过分布式服务中(DistributedMapCacheClient)解析上传至第三方存储中(例如Redis、HBASE等)
distribute-cache-service (分布式缓存服务)
可以选择存储配置数据的第三方库。
config-source (配置源)
所谓的配置源就是配置数据的来源或渠道。包括以下几种:
- FILE_SOURCE:从URL(一般是本地配置文件)读取数据。
- FLOW_FILE_SOURCE:从传输的flowFile流中读取配置数据。
- ATTR_SOURCE:从传输的flowFile流的属性中读取配置数据。
data-type (数据的类型或格式)
支持ini、properties、yaml 或JSON 类型的数据
file-url (文件的地址)
当配置源选择的是FILE_SOURCE时,file-url不能为空。可以是网络文件地址以http://
开头或是本地文件地址以file:///
开头,如果没有配置任何头信息的话,默认会当做本地文件处理
include-properties (包含的属性)
包含的属性(键值)。如果开启了正则支持,则可以赋值为多个正则表达式。多个值之间使用逗号隔开。
exclude-properties (排除的属性)
排除的属性(键值)。如果开启了正则支持,则可以赋值为多个正则表达式。多个值之间使用逗号隔开。
support-regex (是否支持正则)
默认是false,默认情况下,include-properties和exclude-properties是不支持正则的,是完全的键匹配。
注意事项:关于配置数据的筛选规则如下:
- 当include-properties为空时,从加载的数据中排除掉指定的键值,然后上传。
- 当include-properties不为空时,先从加载的数据中筛选出包含的键值,然后从包含的键值中排除指定的键值,最后上传。
2. 示例1:将json数据解析上传
模板: LoadJsonFile.xml
ccc.txt
{
"owner": {
"name": "John",
"organization": "APP Inc."
},
"database": {
"name": "default",
"server": {
"host": "localhost",
"port": {
"listen": true,
0: 143
},
0: "192.0.2.62"
},
"file": "payroll.dat"
}
}
配置详情如下:
这里选择的服务是Redis存储。启动命令如下:
redis-server --protected-mode no
启动LoadConfig,查看默认的第0库