Перейти в хранилище документации
Обратиться в техническую поддержку
Экспорт описан в proto-файлах ExportService.proto и Export.proto.
Для работы с экспортом используется 6 методов:
Задачи по экспорту выполняет не gRPC-канал, а агент экспорта. В данный момент создать агент экспорт через gRPC API нельзя, только вручную в Клиенте.
После того как будет создан хотя бы один агент экспорта, его можно использовать для выполнения операций. Если агентов экспорта несколько и в методе StartSession он явно не задается, то будет использоваться агент с индексом 1.
Операция экспорта запускается на узле, на котором находится камера. Если запускается экспорт по нескольким видеокамерам, то используется первый узел. При этом не требуется подключения к каждому узлу - задачи ретранслируются на них автоматически.
Результаты экспорта формируются на локальном Сервере Axxon Next и могут быть переданы путем выгрузки файлов с помощью метода DownloadFile, который поддерживает загрузку с произвольного места файла.
В методе передаются опции экспорта, которые описываются в сообщении Options.
где,
С помощью комбинаций mode и output_type получаются 4 типа экспорта:
LiveMode + SnapshotType - экспорт кадра из режима реального времени.
LiveMode + StreamType - экспорт видео из режима реального времени.
ArchiveMode + SnapshotType - экспорт кадра из архива.
ArchiveMode + StreamType - экспорт видео из архива.
В сообщениях LiveMode, ArchiveMode, SnapshotType и StreamType передаются параметры данного типа экспорта. Сообщение CommonSetting используется для передачи общих настроек операции экспорта.
Список основных параметров экспорта:
Для каждого типа экспорта существуют таймауты, по истечение которого операция прерывается, если к ней не обращался метод GetSessionState.
Таймаут отсчитывается с момента запуска операции экспорта и/или с момента последнего выполнения метода GetSessionState.
Для экспорта видео из режима реального времени таймаут 5 минут, для всех остальных типов экспорта - 30 минут.
В ответ на метод будет получен id операции экспорта.
В ответе на метод будет получено сообщение SessionInfo для каждой операции экспорта. Если все операции в одном ответе не поместились, то также будет передан next_page_token для следующей страницы.
В сообщении SessionInfo содержится:
статус экспорта.
enum EState { S_NONE = 0; S_RUNNING = 1; S_COMPLETED = 2; S_REMOVED = 3; }
где статус S_COMPLETED не гарантирует того, что экспорт завершился успешно.
Если для операции экспорта есть результаты, то будет получено сообщение Result.
message Result { message File { string path = 1; uint64 size = 2; string min_timestamp = 3; string max_timestamp = 4; string mime_type = 5; } repeated File files = 1; bool succeeded = 2; }
где,
succeeded - признак успешного завершения;
После перехода операции экспорта в статус S_COMPLETED есть 1 час для скачивания файлов с Сервера. При этом таймаут обнуляется после методов GetSessionState и DownloadFile.
Если таймаут будет превышен, то файлы будут удалены с Сервера.
В методе передается id операции экспорта.
В ответ на метод будет получен его статус EState.
Если для операции экспорта есть результаты, то будет получено сообщение Result.
В методе передается id операции экспорта.
В ответ на метод будет получен его обновленный статус EState.
Метод возможен только после завершения операции экспорта.
В методе передается:
В ответ на метод будут получены сообщения FileChunk с блоками данных файла, которые будут приходить пока весь файл не будет скачан.
В методе передается id операции экспорта.