Экспорт интерактивных данных аудита
Если реализация непосредственного сохранения является активной, используйте сервис ExportOnlineAuditData, чтобы экспортировать локализованную версию сообщений аудита из интерактивного хранилища данных. Так как сервис ExportOnlineAuditData доступен только для реализации непосредственного сохранения, хранилищем данных является база данных, сконфигурированная как поставщик хранилища данных для ThingWorx Platform: PostgreSQL или MS SQL.
Сервис ExportOnlineAuditData создает локализованные сообщения аудита из интерактивных данных. Этот сервис принимает языковую настройку, имя репозитория, целевой путь, имя целевого файла, дату начала и дату окончания. Языковая настройка используется для перевода сообщений аудита. При вызове сервис экспортирует записи, соответствующие заданным критериям, из интерактивного хранилища в ZIP-файл на указанном целевом пути с использованием заданного имени целевого файла. Экспорт сортируется по дате аудита. Сервис и его входные данные:

ExportOnlineAuditData(locale[STRING],
targetRepositoryName[THINGNAME],
targetPath[STRING],
targetFileName[STRING],
startDate[DATETIME],
endDate[DATETIME],
query[QUERY])
В следующей таблице перечисляются входные параметры, их краткие описания и их базовый тип ThingWorx:
Параметр
Описание
Базовый тип
locale
Сокращение имени языка, в котором должны возвращаться результаты. (STRING). Например, fr для французского языка или zh_CN для китайского языка (Китай). Список языковых настроек, поддерживаемых ThingWorx, см. в разделе Поддерживаемые языковые настройки.
STRING
targetRepositoryName
Наименование вещи репозитория файлов, где должен сохраняться выходной файл, содержащий локализованные записи аудита.
THINGNAME
targetPath
Расположение, в которое должен быть записан выходной файл.
STRING
targetFileName
Имя выходного файла, в котором должны сохраняться локализованные данные аудита.
STRING
startDate
Дата и время первой записи аудита, которую следует экспортировать. Экспортируются все записи аудита с меткой времени после даты и времени первой экспортированной записи аудита и перед endDate.
DATETIME
endDate
Дата и время последней записи аудита, которую следует экспортировать. Экспортируются все записи аудита с меткой времени перед временем первой экспортированной записи аудита и после startDate.
DATETIME
query
Запрос в формате JSON для фильтрации и сортировки данных аудита. Значение по умолчанию для этого параметра отсутствует. Пример см. в разделе Пример экспорта интерактивных данных аудита ниже.
Пример экспорта интерактивных данных аудита
Пример вызова этого сервиса:

AuditSubsystem.ExportOnlineAuditData("en", myExportRepository, "/auditExport/",
"export_02-03_one_hour", 2020-02-03 18:50:03.000, 2020-02-03 19:50:03.000,
{
"filters": {
"type": "OR",
"filters": [{
"type": "EQ",
"fieldName": "user",
"value": "Administrator",
"isCaseSensitive": false
},
{
"type": "Between",
"fieldName": "timestamp",
"from": 1570195753953,
"to": 1570195753961
},
{
"type": "IN",
"fieldName": "source",
"values": ["test_tt", "test"],
"isCaseSensitive": false
},}
]
},
"sorts": [
{
"fieldName": "source",
"isAscending": true,
"isCaseSensitive": true
},
{
"fieldName": "timestamp",
"isAscending": true,
"isCaseSensitive": true
}
]
})
В этом примере создается экспорт на английском языке в myExportRepository в файл /auditExport/export_02-03_one_hour.zip. В содержимом будут находиться все интерактивные сообщения аудита в соответствии с заданными начальной и конечной датами. Размер экспортируемого zip-файла зависит от того, сколько данных было собрано между датами начала и окончания. Следующая таблица показывает содержимое экспорта на основе дат начала и окончания:
Дата начала
Дата окончания
Содержимое экспорта
2020-02-03 18:50:03.000 (конкретные дата и время)
2020-02-03 19:50:03.000 (конкретные дата и время)
Все интерактивные данные с даты начала до даты окончания, которые в этом примере совпадают (2020–02–03), и данные, накопленные за час (с 18:50:03.000 до 19:50:03.000).
null
2020-02-03 19:50:03.000 (конкретные дата и время)
Все интерактивные данные, которые старше, чем дата и время окончания (2020-02-03 19:50:03.000). Если для даты начала задано значение null, экспорт может содержать большой объем данных аудита в зависимости от количества сообщений аудита в хранилище базы данных и политики сохранения интерактивных данных.
2020-02-03 18:50:03.000 (конкретные дата и время)
null
Все интерактивные данные между датой и временем начала и текущими датой и временем, которое указывается заданным для даты окончания значением null.
null
null
Все интерактивные данные аудита. Не рекомендуется, поскольку это может занять очень много времени.
Если продолжить пример, файл export_02-03_one_hour.zip создает файл архива с именем AuditArchiveDirectPersistence/Export/export_02-03_one_hour.json.
Пример JSON в файле экспорта AuditArchiveDirectPersistence/Export/export_02-03_one_hour.json:

{
"rows":[
{
"auditCategory":"Modeling",
"application":"ThingWorxCore",
"sourceType":"Thing",
"id":"4164",
"source":"ExampleThing",
"message":"Created Thing \"ExampleThing\"",
"user":"ExampleUser",
"timestamp":1580773803
},
...
...
]
}
Информация, возвращенная в этом примере непосредственного сохранения, включает следующие сведения:
Свойство
Описание
auditCategory
Наименование категории сообщения аудита. В примере выше это категория Modeling. Сведения о категориях аудита см. в разделе Категории аудита.
application
Имя приложения, которое генерирует сообщение аудита. Для сообщений аудита, создаваемых ядром ThingWorx Platform, задается значение ThingworxCore.
sourceType
Тип, связанный с приложением, которое создало это сообщение аудита (Thing).
source
Приложение ThingWorx или исполняемый файл, которые создали это сообщение аудита. В примере источником является ExampleThing.
id
Это уникальный автоматически генерируемый идентификатор для записи аудита. В этом примере id имеет значение 4164.
message
Текст сообщения аудита.
user
Имя для входа в систему пользователя, который выполнял приложение, когда было создано сообщение аудита.
timestamp
Дата и время с начала отсчета времени от создания сообщения аудита.
Что происходит с интерактивными данными после экспорта?
Интерактивные данные остаются в интерактивном хранилище после экспорта. Данные могут быть удалены вручную из интерактивного хранилища путем запуска сервиса ArchiveAuditHistory или автоматически с заданием настройки AuditArchiveScheduler.
Было ли это полезно?