我使用apache.avro.tools1.11.0版本从我的avro模式生成C#类型。
以下是模式的一部分:
"fields": [
{
"name": "ShipDate",
"type": {
"type": "int",
"logicalType:": "date"
}
}
]
在C#类中,schema属性包含""fields"":[{""name"":""ShipDate"",""type"":""int""}
。如您所见,logicalType
不见了。
如果我将其与进行比较
{
"name": "BaseCost",
"type": {
"type": "bytes",
"logicalType": "decimal",
"precision": 7,
"scale": 2,
}
}
C#类的schema属性包含{"name":"BaseCost","type":{"type":"bytes","logicalType":"decimal","precision":7,"scale":2}}
。
为什么它吞噬了一些财产?
恐怕这是用户错误。"logicalType:"
字段名称中有一个分号。
如果有人能告诉我如何在未来用avro linter或其他东西来防止这样的错误,我会给他们加分。