Особенности импорта данных из файлов различных типов
Перед настройкой интеграции ознакомьтесь с особенностями импорта данных из файлов различных типов, описанными в данном разделе. Эти особенности необходимо учитывать при формировании структуры файлов, предназначенных для импорта в R-Vision VM.
| Названия столбцов в файлах типов XLSX и CSV, а также ключей в файлах типов XML и JSON, в которых находятся значения атрибутов импортируемой сущности, должны совпадать с идентификаторами этих атрибутов в схеме домена. |
-
XLSX
-
CSV
-
JSON
-
XML
Особенности обработки файлов формата XLSX:
Обработка объединенных ячеек
Если несколько ячеек в импортируемом файле объединены, скрипт парсера интерпретирует это как наличие одинаковых значений во всех объединенных ячейках.
Пример файла со списком подразделений:
| securityAdministrator | LocationVoc |
|---|---|
Иван Иванов |
Офис 1 |
Офис 2 |
|
Офис 3 |
В данном случае в результате импорта для подразделений во всех локациях (Офис 1, Офис 2, Офис 3) будет указан один и тот же администратор безопасности — Иван Иванов.
Поддерживаемые разделители
Система поддерживает следующие типы разделителей значений внутри ячеек:
-
запятая —
,; -
точка с запятой —
;; -
перенос строки.
Пример:
| id | deviceName | port |
|---|---|---|
1 |
Хост 1 |
80, 8080 |
2 |
Хост 2 |
20; 21 |
3 |
Хост 3 |
139 445 |
Особенности обработки файлов формата CSV:
Поддерживаемый разделитель
Для формата CSV система поддерживает только запятую в качестве разделителя значений.
Использование кавычек для значений со спецсимволами
Значение в CSV-файле следует заключать в кавычки, если оно содержит один или несколько спецсимволов:
-
запятая —
,; -
кавычки —
'; -
двойные кавычки —
"; -
перенос строки.
При этом:
-
Для ограничения значений в одном CSV-файле используйте только один вид кавычек — одинарные или двойные.
-
Если в значении содержится какой-либо вид кавычек, в качестве ограничителя всегда нужно использовать другой вид кавычек.
Пример:
| Верно | Неверно |
|---|---|
name, ID, ip_address, description csv1, 1, 10.0.0.1, 'описание, содержащее "текст в кавычках", с переносом строк' csv2, 2, 10.0.0.2, описание Значение поля |
name, ID, ip_address, description csv1, 1, 10.0.0.1, 'описание, содержащее 'текст в кавычках', с переносом строк' csv2, 2, 10.0.0.2, описание В этом случае одинарные кавычки используются и как ограничитель значения, и как часть значения, что приведет к ошибке парсинга. |
Для извлечения данных из структуры файлов система использует язык запросов JSONPath. Основные элементы синтаксиса JSONPath:
| Оператор JSONPath | Назначение |
|---|---|
|
Корневой объект или элемент |
|
Текущий объект или элемент |
|
Дочерний элемент |
|
Оператор рекурсивного спуска, аналогичный E4X |
|
Шаблон, которому соответствуют все объекты и элементы независимо от названия |
|
Оператор индекса |
|
Оператор объединения для альтернативных имен или индексов массива как набора |
|
Оператор среза массива, аналогичный таковому в ES4 и Python |
|
Выражение-фильтр или скрипт |
|
Выражение-скрипт |
Особенности обработки файлов формата XML:
Конвертация XML в JSON
Система конвертирует файлы XML в JSON. При этом атрибуты тегов XML конвертируются в отдельный объект JSON с ключом _attr_, а текст внутри тега — в объект с ключом _text_. Например:
Исходный XML-файл:
<?xml version="1.0" encoding="utf-8"?>
<root>
<devices>
<device id="1">
<deviceName>AD Controller</deviceName>
<operatingSystem>Microsoft Windows Server 2025</operatingSystem>
<nodeType>Контроллер домена Active Directory</nodeType>
<ip_address name="Interface 1">
10.0.0.1
</ip_address>
</device>
<device id="2">
<deviceName>Workstation</deviceName>
<operatingSystem>Microsoft Windows 11</operatingSystem>
<nodeType>Рабочая станция</nodeType>
<ip_address name="Interface 2">
10.0.0.2
</ip_address>
</device>
</devices>
</root>
Результат конвертации в JSON:
{
"root": {
"devices": {
"device": [
{
"_attr_": {
"id": 1
},
"deviceName": "AD Controller",
"operatingSystem": "Microsoft Windows Server 2025",
"nodeType": "Контроллер домена Active Directory",
"ip_address": {
"_text_": "10.0.0.1",
"_attr_": {
"name": "Interface 1"
}
}
},
{
"_attr_": {
"id": 2
},
"deviceName": "Workstation",
"operatingSystem": "Microsoft Windows 11",
"nodeType": "Рабочая станция",
"ip_address": {
"_text_": "10.0.0.2",
"_attr_": {
"name": "Interface 2"
}
}
}
]
}
}
}
Язык запросов JSONPath
Для извлечения данных из структуры файлов система использует язык запросов JSONPath. Основные элементы синтаксиса JSONPath:
| Оператор JSONPath | Назначение |
|---|---|
|
Корневой объект или элемент |
|
Текущий объект или элемент |
|
Дочерний элемент |
|
Оператор рекурсивного спуска, аналогичный E4X |
|
Шаблон, которому соответствуют все объекты и элементы независимо от названия |
|
Оператор индекса |
|
Оператор объединения для альтернативных имен или индексов массива как набора |
|
Оператор среза массива, аналогичный таковому в ES4 и Python |
|
Выражение-фильтр или скрипт |
|
Выражение-скрипт |
Была ли полезна эта страница?