Десериализовать сообщение Avro с типом схемы в качестве объекта - PullRequest
0 голосов
/ 27 марта 2020

Я читаю из топика Кафки c, который содержит сообщения Avro. Я дал ниже схему. Я не могу разобрать схему и десериализовать сообщение.

{
  "type": "record",
  "name": "Request",
  "namespace": "com.sk.avro.model",
  "fields": [
    {
      "name": "empId",
      "type": [
        "null",
        "string"
      ],
      "default": null,
      "description": "REQUIRED "
    },
    {
      "name": "carUnit",
      "type": "com.example.CarUnit",
      "default": "ABC",
      "description": "Car id"
    }
  ]
}

Я получаю сообщение об ошибке ниже:

The type of the "carUnit" field must be a defined name or a {"type": ...} expression

Может кто-нибудь, пожалуйста, помогите.

1 Ответ

1 голос
/ 27 марта 2020

Как насчет

{
    "name": "businessUnit",
    "type": { 
        "type": { 
            "type": "record ", 
            "name": "BusinessUnit ", 
            "fields": [{ 
                "name": "hostName ", 
                "type": "string " 
             }] 
         } 
     } 
 }
...