Могу ли я удалить элемент из моей схемы AVRO - PullRequest
0 голосов
/ 02 мая 2019

Могу ли я удалить элемент из моей схемы AVRO, смотрите перечисление ниже, могу ли я удалить его?Причина в том, что я хочу добавить тип списка, который может принимать несколько значений из одного и того же перечисления.

"fields": [{
			"name": "etype",
			"type":
			{
				"type": "enum",
				"name": "EFilter",
				"symbols" : ["ONE", "TWO", "THREE", "FOUR"]
			},
			"doc": "event types"
		},

1 Ответ

1 голос
/ 02 мая 2019

Используете ли вы реестр схем?

Если это так, вы можете попробовать удалить это поле и опубликовать новую схему в соответствии с последней версией схемы

https://docs.confluent.io/current/schema-registry/develop/api.html#heading2-4

В противном случае, если вы рассматриваете обратную эволюцию удаления, например, поля, я думаю, что вы не можете удалить его, потому что он не имеет значения nullable или имеет другое значение по умолчанию.

Другой вариант - просто добавить новое поле списка, затем заполнить перечисление некоторым фиктивным значением во время сериализации и игнорировать его во время десериализации.

...