Skip to content

Add SchemaRegistryClient methods for all schema/subject REST endpoints #1429

Open
@th0ger

Description

@th0ger

When using the SchemaRegistryClient class, we find that its methods for working with schemas and subjects are not consistently covering the Schema Registry REST API.

Below are listed all the Schemas and Subjects REST endpoints, together with the Python methods that uses them:

REST API endpoints SchemaRegistryClient methods
Schemas: - -
GET /schemas/types get_schema_types() (PROPOSED)
GET /schemas/ids/{id} get_schema(schema_id)
GET /schemas/ids/{id}/versions get_schema_versions(schema_id) (PROPOSED)
Subjects: - -
GET /subjects get_subjects()
POST /subjects/{subject} (query) lookup_schema(subject_name, schema, ...)
DELETE /subjects/{subject} delete_subject(subject_name, permanent)
POST /subjects/{subject}/versions (create) register_schema(subject_name, schema, ...)
GET /subjects/{subject}/versions get_versions(subject_name)
GET /subjects/{subject}/versions/{version} get_version(subject_name, version)
get_latest_version(subject_name)
DELETE /subjects/{subject}/versions/{version} delete_version(subject_name, version)
GET /subjects/{subject}/versions/{version}/schema get_schema_by_subject_version(subject_name, version) (PROPOSED)
GET /subjects/{subject}/versions/{version}/referencedby get_referencedby(subject_name, version) (PROPOSED)

I would recommend we implement the PROPOSED entries.
Any preferred naming conventions for method names?

Note: The Mode/Compatibility/Config/Exporters endpoints are not scoped in this proposal.

EDIT: Sorted table on endpoint; Map lookup_schema correctly. Added PROPOSED methods.

Metadata

Metadata

Assignees

No one assigned

    Labels

    component:schema-registryAny schema registry related isues rather than kafka isolated onesenhancementRequesting a feature change

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions