Экспорт и импорт активности пользователей
В системе предусмотрен экспорт и импорт активности пользователей. Для выгрузки и загрузки активности необходимо подключить привилегию Экспорт/Импорт активности пользователей с операцией Е – выполнение.
Экспорт активности
Чтобы выгрузить данные активности в указанный каталог на диске, введите GraphQL-запрос:
mutation{
activity_exchange{
export_activity_queue(directory_path:"C:\\work\\Business-Projects\\activity\\monitoring\\data\\backup", limit_per_file:25000){
total_size
count
files
time_ms
}
}
}
Поле | Определение |
---|---|
directory_path | путь, куда экспортируются данные активности |
limit_per_file | лимит файлов в одном контейнере экспорта |
Int count | общее количество экспортируемых архивов с активностью из RocksDb Queue |
long timeMs | время выполнения операции в миллисекундах |
long totalSize | размер необработанных байтов, прочитанных из RocksDb Queue с учетом наименования, но без учета внешних метаданных архива контейнера |
ArrayList | список имен файлов, сформированных в процессе экспорта в указанном каталоге |
Для выгрузки активности у системы должен быть выключен флажок разбора активности com.infomaximum.subsystem.monitoring.json. Во время экспорта запись новых архивов в RocksDb Queue блокируется. Файл выгружается с названием activity_queue_({C}-{CN})_{yyyy_MM_dd_HH_mm_ss_SSS}.zip, где:
- {C} – первый ключ;
- {CN} – последний ключ;
- {yyyy_MM_dd_HH_mm_ss_SSS} – время формирования архива.
Пример названия архива: activity_queue_(1-3)_2022_12_21_16_22_46_000.zip
Данные активности не экспортируются, если:
- в GraphQL-запросе не указан путь, куда выгружаются данные;
- на диске не существует путь или указан файл, а не каталог;
- не удалось блокировать запись активности в очередь в течении 800 мс. В этом случае ожидается повторный запрос.
Примечание:
Выгружаемая очередь делится на контейнеры по 25000 архивов активности.
Импорт активности
Чтобы загрузить данные активности из указанного каталога на диске, введите GraphQL-запрос:
mutation{
activity_exchange{
import_activity_queue(directory_path:"C:\\work\\Business-Projects\\activity\\monitoring\\data\\backup"){
total_size
count
files
time_ms
}
}
}
Поле | Определение |
---|---|
directory_path | путь, куда импортируются данные |
Int count | общее количество импортируемых архивов с активностью в RocksDb Queue |
long timeMs | время выполнения операции MS |
long totalSize | размер необработанных байтов, прочитанных из контейнера архива с учетом наименования |
ArrayList | список имен файлов прочитанных операцией импорта |
Данные активности не импортируются, если:
- в GraphQL-запросе не указан путь, куда выгружаются данные;
- на диске не существует путь или указан файл, а не каталог.
Примечания:
- если имя файла не соответствует названию activity_queue_({C}-{CN})_{yyyy_MM_dd_HH_mm_ss_SSS}.zip, файл игнорируется;
- если файл поврежден, в лог пишется сообщение и файл удаляется;
- если у архива корректное название, но он содержит файл с расширением .entry, файл игнорируется. В этом случае в лог пишется сообщение, архив удаляется;
- после импорта файлы с диска удаляются.