Подготовка правила разбора к тестированию
Запрос
| Тип | Метод |
|---|---|
POST |
/sources_pipelines/testlua |
Описание: метод подготавливает правило разбора для отправки на тестирование в termit-web.
При выполнении запроса метод:
- добавляет к тестовому событию из поля
rawзаголовок с метаданными; - при наличии активного профиля сбора использует данные этого профиля;
- если активный профиль сбора отсутствует, заполняет заголовок значениями-заглушками;
- формирует Lua-скрипт для тестирования правила разбора.
Пример запроса
POST
http://127.0.0.1/cruddy/v2/sources_pipelines/testlua
Параметры пути и строки запроса отсутствуют.
Тело запроса соответствует модели SourcesPipelineNoRelations.
Для выполнения метода обязательно должно быть передано поле source_id.
| Параметр | Тип данных | Обязательность | Описание |
|---|---|---|---|
| source_id | string (UUID) |
Required | ID источника сбора |
Пример тела запроса
{
"source_id": "550e8400-e29b-41d4-a716-446655440000",
"<параметр>": "<значение>"
}
Успешный ответ
Статус код: 200 – запрос успешно обработан.
Формат: JSON.
В ответе возвращаются данные, необходимые для отправки правила на тестирование в termit-web.
Параметры ответа:
| Параметр | Тип данных | Описание |
|---|---|---|
| message | object |
Данные для обработки в termit-web |
| message.data | object |
Тестовое событие |
| message.data.message | string |
Сырое тестовое событие |
| message.params | object |
Параметры правила разбора |
| message.params.root | SourcesPipelineRelated |
Безусловно применяемое корневое правило разбора |
| message.params.current | SourcesPipelineRelated |
Текущее правило разбора |
| message.params.disableHex2Str | object |
Словарь флагов отключения преобразования hex2str для профилей сбора |
| script | string |
Lua-скрипт в кодировке Base64 |
| meta | object |
Мета-информация |
| meta.parsers_keys | object |
Флаги использования полей в текущем и корневом правилах |
Если текущее правило является корневым, поле message.params.root заполняется значениями по умолчанию.
В объекте disableHex2Str:
- ключ — ID профиля сбора;
- значение — флаг отключения преобразования
hex2str.
По умолчанию преобразование hex2str включено.
Поле meta.parsers_keys содержит словарь, в котором ключом является поле, а значением — объединённые побитовым «ИЛИ» флаги его использования.
Возможные значения флагов:
1— поле используется в корневом правиле;2— поле используется в текущем правиле;4— системное поле;8— поле используется как параметр функции.
Пример ответа
{
"message": {
"data": {
"message": "<сырое тестовое событие>"
},
"params": {
"root": {
"<параметр>": "<значение>"
},
"current": {
"<параметр>": "<значение>"
},
"disableHex2Str": {
"550e8400-e29b-41d4-a716-446655440000": false
}
}
},
"script": "<lua-скрипт в Base64>",
"meta": {
"parsers_keys": {
"<поле>": 2
}
}
}
Другие возможные ответы
| Код | Ответ | Описание |
|---|---|---|
400 |
Bad Request |
Ошибка в параметрах или теле запроса |
500 |
Internal Server Error |
Ошибка сервера |
Возможные ошибки:
400—"missing uid header"— отсутствует заголовокPgr-User-ID;400—"Pgr-User-Id should be uuid format"— неверный форматPgr-User-ID;400—"Bad Request"— неверный тип параметра запроса либо отсутствует обязательный параметр;400—"empty source_id"— полеsource_idне задано;400—"source_id should be uuid format"— недопустимый формат поляsource_id;500—"Internal Server Error"— ошибка сервера.
Пример ответа с кодом 400
{
"error": "empty source_id"
}
Пример ответа с кодом 500
{
"error": "Internal Server Error"
}