Skip to content

Schema Registry ​

The eKuiper command line tools allows you to manage schemas, such as create, show, drop, describe schemas.

Register schema ​

The command is used for creating a schema. The schema's definition is specified with JSON format

shell
create schema $schema_type $schema_name $schema_json

Schema can be created by two ways.

  • Specify the content inside the command.

Example:

shell
# bin/kuiper create schema protobuf schema1 '{"name": "schema1","content": "message Book {required string title = 1; required int32 price = 2;}"}'

This command create a schema named schema1, the schema content is provided by the content field in the json.

  • Specify the schema file path.

Example:

shell
# bin/kuiper create schema protobuf schema1 '{"name": "schema1","file": "file:///tmp/aschema.proto"}'

This command creates a schema named schema1 whose content is provided by file field in the json. The file will be copied into data/schemas/protobuf and renamed to `schema1.proto.

Parameters ​

  1. schema_type:schema type,the only available type now is protobuf。
  2. schema_name:The unique name of the schema which is also the name of the schema file.
  3. schema_json:The json to define the schema. It must contain name and file or content field.

Show schemas ​

The command is used for displaying all schemas defined in the server.

shell
show schemas $schema_type

Example:

shell
# bin/kuiper show schemas protobuf
schema1
schema2

Describe a schema ​

The command prints the detailed definition of a schema.

shell
describe schema $schema_type $schema_name

Example:

shell
# bin/kuiper describe schema protobuf schema1
{
  "type": "protobuf",
  "name": "schema1",
  "content": "message Book {required string title = 1; required int32 price = 2;}",
  "file": "ekuiper\\etc\\schemas\\protobuf\\schema1.proto"
}

Drop a schema ​

The command drops the schema. The loaded schema in rules can continue to use until rules restart.

shell
drop schema $schema_type $schema_name

Example:

shell
# bin/kuiper drop schema protobuf schema1
Schema schema1 is dropped.