Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье представлена разбивка структуры определения для элементов EventSchemaSet.
Части определения
В этой таблице перечислены части определения EventSchemaSet.
| Путь к части определения | type | Обязательно | Description |
|---|---|---|---|
EventSchemaSetDefinition.json |
EventSchemaSet (JSON) | true | Описывает топологию элемента EventSchemaSet. |
EventSchemaSet
Структура элемента EventSchemaSet
Описывает коллекцию метаданных событий и полезных данных, моделируемых с помощью схем.
| Имя | Тип | Обязательно | Description |
|---|---|---|---|
eventTypes |
EventType[] | false | Коллекция сообщений, хранящихся в каталоге. |
schemas |
Схема[] | false | Коллекция форматов, используемых для представления сообщений, хранящихся в каталоге. |
Структура элемента EventType
Описывает метаданные события, используемые для обмена данными между исходными, eventstream и целевыми элементами.
| Имя | Тип | Обязательно | Description |
|---|---|---|---|
id |
String | true | Уникальный идентификатор eventType |
description |
String | false | Описание eventType |
eventTypeCategory |
String | false | Категория eventType. Допустимые значения: EventType или BusinessEventType |
format |
String | true | Формат сериализации. |
envelopeMetadata |
Строка словаря<, объект> | false | Коллекция сообщений, хранящихся в каталоге. |
schemaUrl |
струна | false | Url-адрес схемыGroup и schema. SchemaUrl и Schema являются взаимоисключающими. Если схема определена в EventType, то SchemaUrl не может быть включена. |
schemaFormat |
струна | false | Формат схемы. Ex: JsonSchema |
schema |
струна | false | Схема EventType. SchemaUrl и Schema являются взаимоисключающими. Если схема определена в EventType, то SchemaUrl не может быть включена. |
protocol |
струна | false | Возвращает или задает протокол в соответствии с https://github.com/xregistry/spec/blob/main/message/spec.md#http11-http2-http3-protocols |
protocolOptions |
объект | false | Возвращает или задает параметры протокола в соответствии с https://github.com/xregistry/spec/blob/main/message/spec.md#http11-http2-http3-protocols |
Структура элемента схемы
Элемент схемы группирует все версии объявления схемы AVRO.
| Имя | Тип | Обязательно | Description |
|---|---|---|---|
id |
струна | true | Уникальный идентификатор схемы |
description |
струна | false | Описание схемы |
format |
струна | true | Формат схемы. Ex: JsonSchema |
versions |
Массив | false | Коллекция различных итераций схемы. Новая версия создается при предоставлении новой схемы элементу EventType |
Структура элемента SchemaVersion
Описание полезных данных события с помощью поддерживаемых версий AVRO. Дополнительные сведения см. в спецификации AVRO .
| Имя | Тип | Обязательно | Description |
|---|---|---|---|
id |
струна | true | Уникальный идентификатор SchemaVersion |
description |
струна | false | Описание schemaVersion |
format |
струна | true | Формат схемы. Ex: JsonSchema |
schema |
струна | false | Связь схемы с версией схемы. |
Пример EventSchemaSet
{
"eventTypes": [
{
"id": "BicycleSchema",
"description": "V1 Schema for Bicycles ",
"format": "CloudEvents/1.0",
"envelopeMetadata": {
"id": {
"type": "string",
"required": true
},
"type": {
"type": "string",
"required": true,
"value": "BicycleSchema"
},
"source": {
"type": "string",
"required": true
},
"specversion": {
"type": "string",
"required": true
}
},
"schemaUrl": "#/schemas/BicycleSchema",
"schemaFormat": "Avro/1.12.0"
}
],
"schemas": [
{
"id": "BicycleSchema",
"format": "Avro/1.12.0",
"versions": [
{
"id": "v1",
"format": "Avro/1.12.0",
"schema": "{\n \"fields\": [\n {\n \"name\": \"manufacturer\",\n \"type\": \"string\",\n \"doc\": \"company name\"\n }\n ],\n \"type\": \"record\",\n \"name\": \"BicycleSchema\"\n}"
}
]
}
]
}
Примеры EventType
С предоставленной схемой:
{
"id": "BicycleSchema",
"description": "V1 Schema for Bicycles ",
"format": "CloudEvents/1.0",
"envelopeMetadata": {
"id": {
"type": "string",
"required": true
},
"type": {
"type": "string",
"required": true,
"value": "BicycleSchema"
},
"source": {
"type": "string",
"required": true
},
"specversion": {
"type": "string",
"required": true
}
},
"schema": "{\n \"fields\": [\n {\n \"name\": \"manufacturer\",\n \"type\": \"string\",\n \"doc\": \"company name\"\n }\n ],\n \"type\": \"record\",\n \"name\": \"BicycleSchema\"\n}",
"schemaFormat": "Avro/1.12.0"
}
Без предоставленной схемы:
{
"id": "BicycleSchema",
"description": "V1 Schema for Bicycles ",
"format": "CloudEvents/1.0",
"envelopeMetadata": {
"id": {
"type": "string",
"required": true
},
"type": {
"type": "string",
"required": true,
"value": "BicycleSchema"
},
"source": {
"type": "string",
"required": true
},
"specversion": {
"type": "string",
"required": true
}
},
"schemaUrl": "#/schemas/BicycleSchema",
"schemaFormat": "Avro/1.12.0"
}
Пример схемы
{
"id": "BicycleSchema",
"format": "Avro/1.12.0",
"versions": [
{
"id": "v1",
"format": "Avro/1.12.0",
"schema": "{\n \"fields\": [\n {\n \"name\": \"manufacturer\",\n \"type\": \"string\",\n \"doc\": \"company name\"\n }\n ],\n \"type\": \"record\",\n \"name\": \"BicycleSchema\"\n}"
}
]
}
Пример SchemaVersion
{
"id": "v1",
"format": "Avro/1.12.0",
"schema": "{\n \"fields\": [\n {\n \"name\": \"manufacturer\",\n \"type\": \"string\",\n \"doc\": \"company name\"\n }\n ],\n \"type\": \"record\",\n \"name\": \"BicycleSchema\"\n}"
}