Как создать массив перечислений в схеме JSON avro? - PullRequest
0 голосов
/ 17 мая 2018

Я хотел бы иметь схему avro, которая имеет поле с именем validExtensions. Как я могу сделать validExtensions принять список расширений enum?

Я создал список допустимых расширений в перечислении:

    {
    "type":"enum",
    "name":"extensions",
    "symbols": [".zip",".txt",".csv",".pdf",".xls",".xlsx"]
    }

Но я не могу найти способ получить поле, которое принимает массив значений enum в расширениях. Например, вывод json будет:

{
 "data":{
    "validExtensions": [".csv", ".xls"],
    "fileName": "testing.csv"
        }
 }

Вот что я уже пробовал, но это не работает:

{
    "type":"record",
    "name":"data",
    "fields": [
        {
            "name":"validExtensions",
            "type":"array",
            "items": {
                "extensions"
                }
        }
    ]
}

1 Ответ

0 голосов
/ 17 мая 2018

Нашел что-то, что работает с массивом перечислений:

 {
   "type":"enum",
   "name":"Extensions",
   "symbols": [".zip",".txt",".csv"]
 }

 {
  "type":"record",
  "name":"data",
  "fields": [
    {
        "name": "key",
        "type": "string"
    {
        "name":"validExtensions",
        "type":{"type":"array", "items":"Extensions"}
    }
  ]
}
...