SetAdvancedRequestFilterAsJson
Применяет фильтр запроса (в формате JSON) исторических данных.
bool SetAdvancedRequestFilterAsJson(string StringJSON)
|
Параметры
Параметр
|
Тип
|
Описание
|
StringJSON
|
string
|
Условия фильтрации. Задаются в виде строки - объекта JSON. Правила формирования условий фильтрации описаны ниже
|
Возвращаемое значение
Значение
|
Описание
|
true
|
Фильтр запроса успешно установлен
|
false
|
Неудачный разбор выражения фильтрации, фильтр не установлен
|
Правила формирования условий фильтрации
Условие фильтрации представляет собой объект JSON. Объект может быть одиночным ({"ключ": "значение"}) или составным (состоящим из нескольких объектов).
Составной объект формируется с помощью:
логических операций:
конъюнкция - and или &)
дизъюнкция - or или |)
инверсия - not или !)
операций сравнения:
больше - >
больше либо равно - >=
меньше - <
меньше либо равно - <=
соответствует - ==
не соответствует - !=
В зависимости от используемой операции составной объект JSON может иметь формат:
{"and": [ARRAY]}
{"or": [ARRAY]}
{ "not": { OBJECT } }
{ "операция сравнения": { VARIABLE } }
Операцию сравнения == можно не указывать. В таком случае объект будет иметь формат { VARIABLE }.
|
Формат
|
Описание
|
VARIABLE
|
Переменная. Имеет структуру: <имя переменной>: <значение переменной>
|
OBJECT
|
Переменная или составной объект JSON любого из указанных выше форматов
|
ARRAY
|
Массив. Может состоять из переменных и составных объектов JSON (любого формата) в различных комбинациях
|
Примеры
//Запросить события с: важностью (столбец severity) больше 10, сообщением (столбец message), содержащим текст "поставлен" или с именем источника (столбец source), не соответствующим "TU_212". Записать результат выполнения функции в текстовое поле.
Filter: string = "{ \"AND\": [ { \">\": { \"severity\": 10 } }, { \"OR\": [ { \"message\": \"*поставлен*\" }, { \"NOT\": { \"source\": \"TU_212\" } } ] } ] }";
Result : bool = Alarms_.SetAdvancedRequestFilterAsJson(Filter);
TextEdit_1.Text = String.ToString(Result);
|