使用RouteOnAttribute处理器时冒号报错:Unexpected token ':' 原因咨询
RouteOnAttribute处理器报错"Unexpected token ':'"的原因分析
未启用表达式语言(EL)支持:
RouteOnAttribute的自定义属性不会自动解析EL表达式。如果属性值填写了${ip:find('...')}但未勾选该属性对应的「Use Expression Language」选项,处理器会把整个字符串当作普通布尔表达式解析,而:属于布尔表达式中的非法语法,因此抛出Unexpected token ':'错误。find函数返回值类型不匹配:
NiFi 1.11.4中的find函数返回整数类型(匹配到则返回起始索引,未匹配返回-1),但RouteOnAttribute要求路由条件为布尔类型。即使EL解析成功,直接使用find的返回值也会触发逻辑问题,正确写法需转换为布尔判断,例如:${ip:find('^(10|127|169\.254|172\.1[6-9]|172\.2[0-9]|172\.3[0-1]|192\.168)\.') != -1}
内容的提问来源于stack exchange,提问作者WoJ
相关产品推荐
相关产品推荐

