.. _csv_uploader_userguide: Инструкция по эксплуатации CSV-Uploader --------------------------------------------- Общие правила формата загружаемых CSV-файлов ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Общие правила формата загружаемых CSV-файлов приведены в :numref:`tab_csv_rules`. .. _tab_csv_rules: .. table:: Общие правила формата загружаемых CSV-файлов +------------------------+-------------------------------------------------------------------------+ | Параметр | Значение | +========================+=========================================================================+ | Разделитель строк | Любой вариант из: CR/LF (0x0D0A), CR (0x0D), LF (0x0A) | +------------------------+-------------------------------------------------------------------------+ | Разделитель полей | по настройке csv-parser/separator (:ref:`csv_uploader_config_params`) | +------------------------+-------------------------------------------------------------------------+ | Строка заголовка | да (обязательно) | +------------------------+-------------------------------------------------------------------------+ | Порядок полей в | определяется строкой заголовка | | строке | | +------------------------+-------------------------------------------------------------------------+ | Ограничитель | по настройке csv-parser/quote-char (:ref:`csv_uploader_config_params`) | | текстового поля | | +------------------------+-------------------------------------------------------------------------+ | Символ маскировки | по настройке csv-parser/escape-char (:ref:`csv_uploader_config_params`) | | в текстовом поле | | +------------------------+-------------------------------------------------------------------------+ | Обнаружение | До релиза 1.5.0 (включительно): по настройке csv-parser/field-as-null | | значения null | (:ref:`csv_uploader_config_params`) | | | | | | начиная с релиза 1.10.0: в текущей реализации парсера данная настройка | | | не поддерживается | +------------------------+-------------------------------------------------------------------------+ | Кодирование символов | UTF-8 | +------------------------+-------------------------------------------------------------------------+ | Десятичный разделитель | символ ``.`` (0x2E), может не указываться для целых значений | +------------------------+-------------------------------------------------------------------------+ | Формат даты | любой из: ``dd.MM.yyyy``, ``yyyy-MM-dd`` | +------------------------+-------------------------------------------------------------------------+ | Формат времени | любой из: ``HH:mm:ss``, ``H:mm:ss`` | +------------------------+-------------------------------------------------------------------------+ | Формат даты-времени | до релиза 1.5.0(включительно) любой из: ``yyyy-MM-dd HH:mm:ss``, | | | ``dd.MM.yyyy HH:mm:ss`` | | | | | | начиная с релиза 1.10.0 любой из: ``yyyy-MM-dd HH:mm:ss.000000``, | | | ``dd.MM.yyyy HH:mm:ss.000000`` | +------------------------+-------------------------------------------------------------------------+ Загрузка структуры Витрины ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. attention:: XML-файл со структурой Витрины может быть загружен только один раз после установки |Product Lite| и при наличии прямого подключения к Prostore (настройка prostore-rest-client.enabled: true). Для передачи xml-файла со структурой Витрины выполните следующие действия: 1. Откройте программный интерфейс CSV-uploader. 2. Выберите вкладку **Загрузка структуры**. 3. В открывшемся окне **Загрузка структуры Витрины** нажмите кнопку **Выберите файл**, выберите XML-файла для загрузки и нажмите кнопку **Загрузить**. (см. :numref:`img_csv-uploader`) .. _img_csv-uploader: .. figure:: /_static/img/modules/csv_uploader/csv-uploader_1.png :align: center :alt: Загрузка структуры Витрины Загрузка структуры Витрины В случае успешного применения настроек отобразится информационное сообщение: Список таблиц загружен. Выгрузка шаблона CSV ~~~~~~~~~~~~~~~~~~~~~~~~~ .. attention:: Выгрузка шаблонов CSV-файлов возможна только при наличии прямого подключения к Prostore (настройка prostore-rest-client.enabled: true) Для выгрузки шаблона CSV-файла со структурой Витрины выполните следующие действия: 1. Откройте программный интерфейс CSV-uploader. 2. Выберите вкладку **Выгрузка шаблона CSV**. 3. Выберите таблицу для выгрузки, например, **demo_view_test.ticket**, для выгрузки примера CSV-таблиц для СМЭВ4 (см. :numref:`img_csv_uploader_table`). 4. Нажмите кнопку **Выгрузить**. Файл будет загружен на локальный компьютер. Если требуется выгрузить все таблицы, нажмите кнопку **Выгрузить все**. .. _img_csv_uploader_table: .. figure:: /_static/img/modules/csv_uploader/2.png :align: center :alt: Выгрузка шаблона CSV Выгрузка шаблона CSV В случае успешной выгрузки на экране монитора отобразится информационное сообщение: Список таблиц выгружен. Загрузка CSV-файла ~~~~~~~~~~~~~~~~~~~~~~ Для загрузки CSV-файла, выполните следующие действия: 1. Откройте программный интерфейс CSV-uploader. 2. Выберите вкладку **Загрузить**. 3. В открывшемся окне **Загрузка файла** выберите: а) **Режим**: - Вставка - параметр определяет, что данные будут добавлены. - Удаление - параметр определяет, что данные будут удалены. б) **Выполнять проверку форматно-логического контроля**: перключатель отображается, если в настройках модуля CSV-uploader, включен ФЛК (validation.enabled = true) и указан адрес модуля REST-Uploader (validation.rest-uploader-url), а также выбран режим "Вставка": - Включено - перед загрузкой файлов в Витрину выполняется ФЛК при помощи модуля REST-Uploader; - Выключено - данные загружаются в Витрину без ФЛК. .. note:: При включении настройки ``upload.mandatoryFlk: true``, переключатель «Выполнять проверку форматно-логического контроля» неактивен и всегда находится во включенном положении. в) Таблицу, в ручном или автоматическом режиме - Для автоматического определения типа таблиц включите переключатель **Автоматическое определение таблицы**; - если автоматическое определение таблиц не требуется, выключите переключатель. В этом случае Витрину и таблицу можно выбрать в выпадающих списках или, при включенной опции metadata.free-input ввести в соответствующих полях. .. note:: Автоматический режим определения таблицы доступен только при наличии прямого подключения к Prostore (настройка prostore-rest-client.enabled: true). При отсутствии прямого подключения к Prostore (настройка prostore-rest-client.enabled: false) Витрины и таблицы для выбора загружаются из файла конфигурации (раздел metadata). .. _img_csv_uploader_load: .. figure:: /_static/img/modules/csv_uploader/1.png :align: center :alt: Загрузка CSV-файла Загрузка CSV-файла .. _img_csv_uploader_load_1: .. figure:: /_static/img/modules/csv_uploader/1_table.png :align: center :alt: Выбор таблицы из списка Выбор таблицы из списка 1. Нажмите кнопку **Выберите файл** чтобы выбрать файл для загрузки. 2. Нажмите кнопку **Загрузить**. 3. Убедитесь, что файл с таблицами был загружен. .. _img_csv_uploader_load_2: .. figure:: /_static/img/modules/csv_uploader/2_table.png :align: center :alt: Результат загрузки Результат загрузки В случае успешной загрузки отобразится информационное сообщение: Операция успешно выполнена: [идентификатор запроса]. Обязательная загрузка данных с предварительным форматно-логическим контролем ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ При включении настройки ``VALIDATION_MANDATOR: true``, переключатель **Выполнять проверку форматно-логического контроля** неактивен и находится во включенном положении. В данном режиме загрузка данных в ручном режиме с использованием CSV-Uploader невозможна, для всех загружаемых данных будут проводиться проверки форматно-логического контроля в модуле REST-Uploader см. :numref:`img_csv_uploader_csv_2`. .. _img_csv_uploader_csv_2: .. figure:: /_static/img/modules/csv_uploader/csv_2.png :align: center :alt: Обязательная загрузка данных с предварительным форматно-логическим контролем Обязательная загрузка данных с предварительным форматно-логическим контролем Загрузка данных без подключения к Prostore ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ При отсутствии прямого подключения к Prostore выбор витрин и таблиц выполняется в интерфейсе загрузчика в виде выпадающих списков (см. :numref:`img_csv_uploader_csv_5`). При этом, для выбора таблиц сначала нужно выбрать датамарт (в случае, если ручной ввод названия таблицы отключен). .. _img_csv_uploader_csv_5: .. figure:: /_static/img/modules/csv_uploader/csv_5.png :align: center :alt: Выбор датамарта/таблицы из предопределенного списка Выбор датамарта/таблицы из предопределенного списка .. _img_csv_uploader_csv_6: .. figure:: /_static/img/modules/csv_uploader/csv_6.png :align: center :alt: Отображение выбора датамарта/таблицы из предопределенного списка Отображение выбора датамарта/таблицы из предопределенного списка При включении ручного ввода названия таблицы под полем выбора таблиц отображается текстовое поле ввода (см. :numref:`img_csv_uploader_csv_7`). .. _img_csv_uploader_csv_7: .. figure:: /_static/img/modules/csv_uploader/csv_7.png :align: center :alt: Отображение текстового поля ввода Отображение текстового поля ввода Аутентификация ~~~~~~~~~~~~~~~~~~~~ Использование jwt-токена при включенной аутентификации в модуле REST-Uploader ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ При использовании ФЛК перед загрузкой данных в Витрину может потребоваться дополнительная аутентификации в модуле REST-Uploader. В этом случае необходимо использование jwt-токена. Для этого необходимо выставить следующую настройку в модуле CSV-Uploader: - ``auth.mode: JWT``. При такой конфигурации, при открытии загрузчика CSV-Uploader отображается модальное окно ввода токена пользователя, а на странице загрузки данных в витрину отображается поле **Изменить JWT**. (см. :numref:`img_csv_uploader_csv_3`). .. _img_csv_uploader_csv_3: .. figure:: /_static/img/modules/csv_uploader/csv_3.png :align: center :alt: Модальное окно ввода токена Модальное окно ввода токена Значение внесенного JWT-токена используется как барьерный токен при обращении к REST-Uploader. Внесенное значение токена сохраняется в сессии пользователя и автоматически подставляется при включении переключателя выполнения ФЛК проверок. Для того, чтобы изменить JWT-токен для аутентификации, необходимо нажать кнопку **Изменить JWT** (см. :numref:`img_csv_uploader_csv_4`). .. _img_csv_uploader_csv_4: .. figure:: /_static/img/modules/csv_uploader/csv_4.png :align: center :alt: Отображение кнопки **Изменить JWT** Отображение кнопки **Изменить JWT** Аутентификация через Datamart studio ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ При загрузке данных CSV-Uploader в удаленную Витрину необходимо пройти аутентификацию через ПО Datamart studio. Для включения аутентификации через Datamart studio необходимо выставить следующую настройку в модуле CSV-Uploader: - ``auth.mode: STUDIO``; - ``auth.studio.ui-prompt``: - ``true`` - запрос логина и пароля на странице «Загрузка», (отдельно для каждого datamart); - ``false`` - используются логины и пароли, из конфигурационного файла (блок ``auth.studio.datamarts``). Настройки CSV-uploader ~~~~~~~~~~~~~~~~~~~~~~~~~~~ Для CSV-uploader можно настроить следующие параметры: - автоматический запуск загрузки CSV-файлов по расписанию; - настройка журнала загрузок по расписанию. Автоматический запуск загрузки CSV-файлов по расписанию ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Для настройки автоматического запуска загрузки CSV-файлов по расписанию, выполните следующие действия: 1. Откройте программный интерфейс CSV-uploader. 2. Выберите вкладку **Настройки**. 3. В открывшемся окне **Настройки** в поле **Запуск по расписанию**, укажите время в ``Cron`` формате (например, ``0 15 10? * *`` - загрузка файлов будет происходить каждый день в 10.15) и путь к каталогу с CSV-файлами (см. :numref:`img_csv_uploader_start_load`) . 4. Установите маркер в поле **Включить**, для активации автоматического запуска загрузки. 5. Нажмите кнопку **Применить настройки**. .. _img_csv_uploader_start_load: .. figure:: /_static/img/modules/csv_uploader/5.png :align: center :alt: Автоматический запуск загрузки CSV-файлов по расписанию Автоматический запуск загрузки CSV-файлов по расписанию В случае успешного применения настроек отобразится информационное сообщение: Конфигурация успешно получена. Настройка журнала загрузок по расписанию ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Для настройки журнала загрузок по расписанию, выполните следующие действия: 1. Откройте программный интерфейс CSV-uploader. 2. Выберите вкладку **Настройки**. 3. В открывшемся окне **Настройки** в поле **Размер страницы**, укажите количество записей на страницу, например, ``20`` (см. :numref:`img_csv_uploader_operation_log`). 4. Нажмите кнопку **Применить настройки**. .. _img_csv_uploader_operation_log: .. figure:: /_static/img/modules/csv_uploader/6.png :align: center :alt: Настройка журнала загрузок по расписанию Настройка журнала загрузок по расписанию В случае успешного применения настроек отобразится информационное сообщение: *Конфигурация успешно получена*. Просмотр журнала загрузок по расписанию ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ В журнале загрузок по расписанию можно просмотреть действия выполненные в CSV-uploader: - Время - время, когда операция была выполнена. - Уровень - статус операции. - ``ERROR`` - ошибка загрузки; - ``INFO`` - описание операции - Сообщение - краткое информационное сообщение об операции. Для просмотра журнала загрузок по расписанию, выполните следующие действия: 1. Откройте программный интерфейс CSV-uploader. 2. Выберите вкладку **Журнал загрузок по расписанию**. 3. В открывшемся окне просмотрите операции, которые были выполнены в CSV-uploader (см. :numref:`img_csv_uploader_log`). 4. Нажмите кнопку **Применить настройки**. .. _img_csv_uploader_log: .. figure:: /_static/img/modules/csv_uploader/7.png :align: center :alt: Просмотр журнала загрузок по расписанию Просмотр журнала загрузок по расписанию Интерфейс Форматно-логического контроля ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ На вкладке **Журнал загрузок** отображается: - список последних отправленных файлов, определяемых настройками модуля CSV-Uploader - значение по умолчанию 20: - время записи; - пользователь; - идентификаторы файлов; - статус загрузки файла; - кнопка запроса отчета об ошибках для файла (кнопка отображается активной только в случае финальных статусов): - статус 3, Успешно обработан;; - статус 4, Ошибка обработки запроса; - статус 7, Ошибки ФЛК; - элементы пагинации списка requestId. .. _img_csv_uploader_csv_8: .. figure:: /_static/img/modules/csv_uploader/csv_8.png :align: center :alt: Просмотр журнала загрузок Просмотр журнала загрузок При нажатии на кнопку запроса отчета об ошибках для файла, модуль CSV-Uploader скачивает файл на ПК пользователя автоматически или при нажатии на название отчета с выводом сообщения о загрузке файла.