Сохраняемые в потоковую БД события рабочих доменов
Путь расположения
| Путь в сборочном каталоге | Описание |
|---|---|
|
|
|
Обзор
Набор ассетов осуществляющих фильтрацию событий и состава их полей между генерацией в системе и отправкой подписчикам и брокерам.
На основе файлов метаданных:
-
осуществляется фильтрация генерируемых событий, сохраняемых в потоковую БД вплоть до полного отсутствия;
-
фильтруется состав полей генерируемых событий для сохранения в БД ограниченного их числа.
Перечень и описание классов событий, типов событий и их полей доступны в разделе.
Недоступно для мастер-домена, поскольку для него существует собственный набор событий.
Дескриптор состава классов и типов событий (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}
]
}