我对Avro模式还很陌生,并且我知道联合可以用于允许多种类型,例如:
"message": ["null", "string"]
但是,当传递的json值为字符串时,我遇到问题。例如:
"message": "Hello World!"
我得到的错误是:
failed to convert json to avro expected start-union. got value_string
我在这里https://stackoverflow.com/a/27499930/5481419看到了答案,其中指出您必须像这样对JSON进行编码:
"message": {"string": "Hello World!"}
但是,这对我来说是不可能的,因为通过Avro架构映射的JSON是来自外部端点的响应,并且它只是返回一个字符串作为值(它也可以返回null,因此为什么我需要工会)。还有其他解决方法吗?我还需要在这里使用Avro模式。