Skip to content

Custom SchemaProvider

Alon Gubkin edited this page Mar 1, 2022 · 3 revisions

InferenceDB uses schema providers to serialize messages in a format that they can later be read by the Kafka Connect sink.

The default one is the AvroConfigProvider which is based on Avro, but you can write your own:

@schema_provider("custom")
class SchemaProvider(ABC):
  async def fetch(self):
    ...

  @abstractmethod
  async def serialize(self, inference: Inference) -> AsyncIterator[bytes]:
    ...