Я пишу свою первую схему avro, и я хотел бы знать, как я могу использовать один и тот же определенный тип для нескольких атрибутов. Моя схема Avro имеет следующую структуру:
{
"type": "record",
"name": "hubspot-deals",
"doc": "Avro schema to describe Hubspot Deals.",
"namespace": "com.landoop",
"fields": [
{
"name": "properties",
"type": {
"type": "record",
"name": "Properties",
"fields": [
{
"name": "createdate",
"type": {
"type": "record",
"name": "CustomProperty",
"fields": [
{ "name": "source", "type": "string" },
{ "name": "sourceId", "type": "string" },
{
"name": "versions",
"type": { "type": "array", "items": "CustomProperty" },
"default": []
}
]
}
},
{ "name": "days_to_close", "type": "CustomProperty" }
]
},
}]
}
Как я могу использовать тип записи CustomProperty
среди других атрибутов? Я использую python lib для проверки моей схемы. Я получил ошибку: The type [CustomProperty] is not recognized by Avro
. Я также попытался добавить пространство имен, но получил ту же ошибку.
Как JSON пример:
{
'properties': {
'createdate': {
'source': 'AUTOMATION_PLATFORM',
'sourceId': 'enrollmentId:13398489937;actionExecutionIndex:0',
'timestamp': 1579120584600,
'value': '1579120584600',
'versions': []
}
}
}