Формат сообщений в системном топике Kafka
Содержание раздела
Система записывает в топик Kafka сообщения по следующим событиям:
Сообщения записываются в JSON-формате в топик, имя которого задано с помощью параметра конфигурации KAFKA_STATUS_EVENT_TOPIC. Каждое сообщение состоит из ключа и тела, их форматы описаны ниже.
Формат ключа сообщения
Ключ сообщения в системном топике Kafka имеет следующий формат:
{
"datamart": "<logical_db>",
"datetime": "<event_datetime>",
"event": "<event_code>",
"eventLogId": "<event_UUID>"
}
Где:
logical_db— имя логической базы данных, в которой произошло событие;event_datetime— дата и время события;event_code— код события. Возможные значения:DATAMART_SCHEMA_CHANGED— изменение логической схемы,DELTA_OPEN— открытие дельты,DELTA_CLOSE— закрытие дельты,DELTA_CANCEL— откат дельты;
event_UUID— уникальный идентификатор события.
Пример ключа в сообщении о закрытии дельты:
{
"datamart": "marketing",
"datetime": "2022-02-28 08:02:40",
"event": "DELTA_CLOSE",
"eventLogId": "6b80c392-3198-492f-a631-6a684e521b79"
}
Формат тела сообщения
Тело сообщения в системном топике Kafka содержит параметры события и имеет формат, описанный в таблице ниже.
| Событие | Формат тела сообщения |
|---|---|
| Изменение логической схемы | {"changeDateTime": "<change_datetime>", "datamart": "<logical_db>"} |
| Открытие дельты | {"deltaNum": <delta_number>} |
| Закрытие дельты | {"deltaNum": <delta_number>, "deltaDate": "<delta_commit_datetime>"} |
| Откат дельты | {"deltaNum": <delta_number>} |
Где:
change_datetime— дата и время изменения в форматеYYYY-MM-DD hh:mm:ss;logical_db— имя логической базы данных, к которой относится изменение;delta_number— номер дельты;delta_commit_datetime— дата и время закрытия дельты в форматеYYYY-MM-DD hh:mm:ss.
Пример тела в сообщении об изменении логической схемы:
{
"changeDateTime": "2022-02-24 15:25:47",
"datamart": "marketing"
}
Пример тела в сообщении о закрытии дельты:
{
"deltaNum": 8,
"deltaDate": "2022-02-28 08:02:40"
}