Schema Management

Uploading a Schema

Make sure the uploaded schema is used in the Producer / Consumer application in exact same form. If you are uploading a schema that has not references to other schemas you can upload the avsc file or if you are uploading a schema that has references to other schemas you can upload the compiled schema file. If you use a plugin such as the avro-maven-plugin for schema maintenance, make sure to upload the source schema files.

  1. Click on the schema Upload icon.

  2. Upload the schema as a text file (avsc format). The Avro syntax will be validated as soon as the file has been uploaded.

  3. Add the version for the schema

  4. If you are uploading the first version of this schema, be sure to add a description

  5. Any authenticated user can upload a schema for their tenant.

Schema upload

Error scenarios

Duplicate schema

An attempt at uploading a duplicate schema for a tenant is rejected with an error message containing the duplicated version as shown below:

Duplicate schema

Incompatible schema

In some situations you want to force the use of an incompatible schema. As of Axual 2021.3 it is possible to force apply a schema.

When selecting an incompatible schema, the following modal is shown.

Incompatible schema warning

Click "Confirm" if you want to force updating the schema to the incompatible one.

make sure to inform anyone who is using your topic, especially in an acceptance or production environment

Viewing and Downloading Schemas used on a topic

Schemas can only be viewed if they are used on a stream.

Viewing a Schema

  1. Click on a Stream which has either Key Schema or Value Schema

  2. On the stream’s card there will be a Schema section

    Stream Schemas
  3. Click on the button with the Schema Version you want to view

  4. You will be presented with the Schema

Stream Schema Preview

Downloading a Schema

Click the "Download" button to download the source schema (version). This enables you to bundle the schema with your application, e.g. for POJO generation in case of Java applications.