<< Click to Display Table of Contents >> Navigation: API MasterSCADA 4D > Подключение к исполнительной системе по JSON > JSON для HTTP-запросов > Описание JSON-запросов > Сообщения > /Methods/GetArchivedEvents |
GetArchivedEvents - запрос на чтение архива.
{"sessionId":<ID сессии>,
"archiveId":0 - ID архива сообщений. Если 0, то используется архив, назначенный на объект itemId. Если itemId=0, то основной архив сообщений
"startTime":<время начала>,
"endTime":<время конца>, - если не указано, то до конца архива
"inverse":True, - если True, то будет возвращать сообщения в обратном порядке, начиная с endTime
"maxRecs":0, - максимальное количество возвращаемых записей
"maxSize":0, - максимальный размер ответа на запрос в байтах. Если 0 - ограничение определяется сервером
“timeout”: 60, - максимальное время ожидания в секундах, по умолчанию 60 сек
"continuationPoint":"0000000000", - позиция в архиве, с которой начинать чтение (возвращается командой чтения архива, если все записи по данной выборке не удалось прочитать за один запрос). Если не задано, чтение идет с начала архива
"itemId":<ID>, - ID элемента проекта, генерирующего сообщения
"path":"", - путь внутри составного объекта ItemId (можно не задавать)
"fields":[ - массив полей выборки. В любой выборке должно присутствовать поле eventId (тип - строка):
{"id":1, - ID поля (если поле нестандартное, = 0)
"name":"Field01", - имя поля (для нестандартных полей, не имеющих ID). Пока для стандартных полей тоже задается name
"type":"BOOL", - ST тип поля
"typeHash":3 - хеш типа поля
}]
"filter":[ - фильтр сообщений, массив условий:
"field = value" - условие выборки, передается прозрачно от кодогенератора
]
]}
{
"hasMore":true, - не все уведомления переданы, можно повторить запрос
"continuationPoint":"0000000100", - позиция в архиве. Если переданы не все сообщения, удовлетворяющие фильтру, передается позиция в архиве, которую надо передать в следующем запросе
"recs":[ - массив записей сообщений:
[ ] - массив значений полей выборки. Значения идут в том порядке, как было задано в запросе, тип значения соответствует типу поля. Могут быть null значения, если для какого-то сообщения не определено некоторое поле в выборке
]
}
{
"sessionId":"1234",
"startTime":"1357002062000",
"endTime":"1357002062000",
"maxRecs":100,
"itemId":28012,
"fields":[
{"name":"EventId", "type":"STRING", "typeHash":4},
{"name":"Time", "type":"DATE_AND_TIME", "typeHash":2},
{"name":"Message", "type":"STRING", "typeHash":4},
{"name":"Severity", "type":"DINT", "typeHash":1},
{"name":"Acked", "type":"BOOL", "typeHash":3}],
"filter":[
"Active=true",
"Severity <= 100 or Severity >= 900"]
}
{"code":0,
"continuationPoint":"0000000100",
"hasMore":true,
"recs":[
["12A5EDFFFFFF", "1357002062000", "Превышение уставки", 100.0, false ]
["13A5EDABABAB", "1357002062000", "Авария насоса", 950.0, false ]
]
}