即。是否可以使字段需要类似于ProtoBuf:
消息SearchRequest { 必需字符串查询= 1; }
答案 0 :(得分:12)
默认情况下,Avro中需要所有字段。与官方文档中的mentioned一样,如果你想要创建一些可选的东西,你必须通过将它的类型与null
结合起来使它成为可空的,就像这样
{ "namespace": "example.avro",
"type": "record",
"name": "User",
"fields": [
{"name": "name", "type": "string"},
{"name": "favorite_number", "type": ["int", "null"]},
{"name": "favorite_color", "type": ["string", "null"]}
]
}
在此示例中,name
是必需的,favorite_number
和favorite_color
是可选的。我建议您花一些时间阅读文档。