Как получить схему из реестра слитых схем с идентификатором и версией схемы, используя python - PullRequest
0 голосов
/ 20 апреля 2020

Можем ли мы передать идентификатор схемы и версию, чтобы получить схему из реестра схем? Я знаю об этих функциях,

Получение схемы по идентификатору


sr = SchemaRegistryClient('localhost:8081')
my_schema = sr.get_by_id(schema_id=1) 

, которая возвращает,

{'type': 'record', 'name': 'io.confluent.examples.clients.basicavro.Customer', 'fields': [{'name': 'customerId', 'type': 'string'}, {'name': 'firstName', 'type': 'int'}, {'name': 'lastName', 'type': 'string'}, {'name': 'email', 'type': 'string'}, {'name': 'phone', 'type': 'string'}], '__fastavro_parsed': True}

И,

Получение схемы по имени субъекта


sr = SchemaRegistryClient('localhost:8081')
my_schema = sr.get_schema(subject='mySubject', version='latest') 

, которое возвращает

SchemaVersion(subject='mySubject', schema_id=1, schema=<schema_registry.client.schema.AvroSchema object at 0x000001A7271D6C18>, version=1)

В get_schema () я могу указать версию, но схема неверна. В get_by_id () я получаю схему в правильном формате, но не могу выбрать версию.

Можно ли как-то обойтись, чтобы я мог получить схему и выбрать версию? Любая помощь будет оценена.

...