Schema Management

Uploading a Schema

Axual supports three types of schemas: AVRO, Protobuf and as of Axual 2024.3 JSON Schema. To use Protobuf or JSON Schema the Instance Cluster needs to be configured with an Apicurio Schema Registry type.

Make sure the uploaded schema is used in the Producer / Consumer application in the exact same form.

If you are uploading a schema that has no references to other schemas, you can upload the .avsc, .proto or .json 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. Visit the schema page and click on Add Schema button

    Add Schema Menu
    1. Change the schema type according to the schema you are uploading

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

  3. Add the version for the schema

  4. Select the Schema Owner

  5. Click Add schema

    Schema upload

Schema Ownership, Roles and Permissions

As of Axual 2024.3 release, Self-Service support defining schema ownership when creating a new schema. The following roles and permissions described below are taken in consideration only when the Tenant Admin has configured the Schema Roles enforcement in Tenant Settings:

Schema Author

Schema Author can upload a new Schema and assign the ownership to themselves.

Schema Author can upload new Schema Versions for an existing Schema they own.

Schema Author cannot upload new Schema Versions for an existing Schema they do not own.

Schema Admin

Schema Admin can upload a new Schema Version of any existing Schema.

Schema Admin can delete Schema Versions of any existing Schema.

Schema Admin can transfer the Schema’s ownership of any existing Schema.

Schema Owner

Schema Owner can upload new Schema Versions of the Schemas they own.

Schema Owner can delete Schema Versions of the Schemas they own.

Schema Owner can transfer the ownership of a Schema they own.

A Schema Owner can transfer the ownership of an owning Schema to another group they are a member of.

A Schema Admin or a Tenant Admin can transfer the ownership of any existing Schema.

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.

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

Viewing a Schema

  1. Visit the schema page

  2. On the left column of the page, the schemas are grouped into namespaces/packages with a folder icon. Click on a group to expand it.

  3. The schemas and their type are displayed on the right column.

    Schema Overview
  1. Click on the file to view the Schema

  2. A modal will open displaying the content of the Schema

    Schema Preview

You can also view a schema from the Topic Details page.

  1. On the topic card, there is a schema section.

    Topic Schema Preview
  2. Click on the version number of the schema.

  3. You will be presented with the schema

Viewing All Schema Versions

Click the View all versions button. You will be presented with a view as below where you can select a specific version

View All Schema Versions

Downloading a Schema

Click the Download Schema 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.

Download Schema