Confluent Schema Registry

  1. Connecting
    1. CLI
    2. Python API
  2. URLs
  3. Type Conversion
  4. Limitations and Constraints

Connecting

CLI

recap ls http+csr://my-registry:8081/some/root/path
recap schema http+csr://my-registry:8081/some/root/path/my-topic

Python API

from recap.clients import create_client

with create_client("http+csr://my-registry:8081/some/root/path") as client:
    client.ls()
    client.schema("my-topic")

URLs

Recap’s Confluent Schema Registry client takes a URL pointing to the Confluent Schema Registry HTTP server and an optional subject path.

http+csr://[host]:[port]/[path*]/[subject]

You may optionally include -key or -value at the end of the subject name to specify the key or value schema, respectively. If no suffix is supplied -value is assumed.

The scheme must be http+csr or https+csr. The +csr suffix is required to distinguish this client from other clients that also use HTTP connections (similar to SQLAlchemy’s dialect+driver format)

Type Conversion

ConfluentRegistryClient.get_schema() uses the AvroConverter, JSONSchemaConverter, and ProtobufConverter classes to convert schemas, based on their type.

Please see the individual documentation for these classes for information on how they convert types:

Limitations and Constraints

  1. ConfluentRegistryClient does not support schema references.

The conversion functions raise a ValueError exception if the conversion is not possible.