包含破折号的json无法使用Avro架构

时间:2018-04-26 18:38:38

标签: apache-nifi

我的输入Json字段名包含破折号。 例如:"姓氏" :" Doe"

当我将这个json传递给Infer Avro Schema处理器时,它没有告诉我"非法字符:Last-Name"

我还注意到在AvroSchemaRegistry中使用短划线,不编译,最终不允许启用该服务。

我尝试用" \"逃避破折号。但仍然无法正常工作。 我的版本是1.4.0。

在这方面的任何帮助将不胜感激。

谢谢!

1 个答案:

答案 0 :(得分:6)

破折号不是Avro名称的有效字符(请参阅spec here)。作为NiFi 1.4.0的可能解决方法,您可以使用下划线而不是破折号。如果这不是一个可行的解决方法,那么从NiFi 1.5.0(NIFI-4612)开始,你可以禁用名称验证,这样它就不会抱怨破折号。