Сохраняемые в потоковую БД события доменов солюшена
Путь расположения
Путь в сборочном каталоге | Описание |
---|---|
|
|
|
Обзор
Набор ассетов осуществляющих фильтрацию событий и состава их полей между генерацией в системе и сохранением в потоковую БД домена соответствующего солюшена.
На основе файлов метаданных:
-
автоматически формируется структура событийной потоковой БД домена, создаются схемы, таблицы, столбцы указанных типов;
-
осуществляется фильтрация генерируемых событий, сохраняемых в потоковую БД вплоть до полного отсутствия;
-
фильтруется состав полей генерируемых событий для сохранения в БД ограниченного их числа.
Перечень и описание классов событий, типов событий и их полей доступны в разделе.
Недоступно для мастер-домена (предопределенный солюшен master), поскольку для него существует собственный набор событий.
Дескриптор состава классов и типов событий (events.json)
Список классов событий и содержащихся в них типов событий, подлежащих сохранению в событийную потоковую БД домена соответствующего солюшена.
Каждому из перечисленных в списке классов событий в папке events должен соответствовать отдельный каталог, внутри которого для каждого типа событий этого класса должен присутствовать файл, описывающий состав полей события, подлежащих сохранению в БД.
[ { "class": str, "events": array<str> }, ... ]
-
class
– имя класса событий. -
events
– список имен типов событий, входящих в класс.
Пример events.json
Перечисляет все классы событий рабочих доменов и входящие в них типы событий
[ { "class": "alertcallevents", "events": [ "prepared", "statechanged", "callinited", "callfailed", "callstarted", "callrejected", "callpreanswered", "callanswered", "callapproved", "callfinished" ] }, { "class": "statesevents", "events": [ "user_state_changed" "sipuser_state_changed", "sipuser_transtate_set" ] }, { "class": "scriptevents", "events": [ "script_start", "script_stop" ] }, { "class": "providerevents", "events": [ "provider_state_changed" ] }, { "class": "ivrhuntqevents", "events": [ "queue_greeting", "queue_dequeue", "queue_userban", "queue_enqueue", "queue_quit", "queue_preivr_start", "queue_start_call", "final" ] }, { "class": "selectorevents", "events": [ "sel_create", "sel_update", "sel_delete", "sel_state_changed", "sel_abon_state_changed", "sel_voting_state_changed" ] }, { "class": "perfmonevents", "events": [ "server_performance", "node_performance" ] } ]
Дескриптор полей событий типа
Каталог класса событий. Именуется названием класса. Содержит внутри файлы-дескрипторы по всем типам событий класса, их полей и типов значений в БД. Имена файлов соответствуют именам типов событий.
{ "class": str, "type": str, "fields": [ { "name": str, "type": "varchar" | "bigserial" | "timestamp" | "uuid" | "integer", "required": true | false }, ... ] }
-
class
– название класса событий (дубликат имени каталога). -
type
– название типа событий (дубликат имени файла). -
fields
– список сохраняемых в БД полей (суть структура таблицы):-
name
– название поля события и одновременно столбца в таблице БД. -
type
– тип значения столбца в таблице БД. -
required
– признак обязательности поля (по умолчаниюfalse
). -
default
– значение по умолчанию (для полей сrequired = false
)
-
Пример
Пример файла для типа событий statesevents.sipuser_state_changed
, расположение /statesevents/sipuser_state_changed.json
.
{ "class": "statesevents", "type": "sipuser_state_changed", "fields": [ {"name": "id", "type": "bigserial", "required": true}, {"name": "login", "type": "varchar", "required": true}, {"name": "state", "type": "varchar", "required": true}, {"name": "eventts", "type": "timestamp", "required": true} ] }