Платформа 3V/DataManager: различия между версиями
(→Методы) |
|||
Строка 72: | Строка 72: | ||
=== Объекты репозитория === | === Объекты репозитория === | ||
'''DataManagerTasks - Задачи загрузки данных''' | '''DataManagerTasks - Задачи загрузки данных''' | ||
+ | |||
+ | Это справочник, который содержит задачи загрузки данных | ||
+ | |||
+ | [[Файл:справочник задач загрузки данных.png|мини]] | ||
{| class="wikitable" | {| class="wikitable" | ||
Строка 108: | Строка 112: | ||
| Задача || TASK || Элемент справочника задач загрузки данных | | Задача || TASK || Элемент справочника задач загрузки данных | ||
|} | |} | ||
− | |||
=== Источники данных === | === Источники данных === |
Версия 14:29, 22 ноября 2022
DataManager - сервис по работе с загрузкой данных в объекты платформы 3V (справочники и показатели)
Цель:
- Организация загрузки данных из внешних источников без привлечения разработчиков
- Снижение времени на выполнение интеграций с внешними источниками данных
Задачи:
- Передача данных из внешних источников в объекты платформы 3V (справочники и показатели)
- Загрузка данных из задач Jira в объекты платформы 3V (Корпоративный портал использует его для загрузки данных из Jira (трудозатраты, задачи и т.д.))
Содержание
Методы
Методы, которые реже всего нужны для работы с DM
Название | Конроллер | Описание | Результат |
---|---|---|---|
/Data/Load | Data | Метод для загрузки данных в справочник/показатель | Результат загрузки (json-модель маппинга (об этом чуть позже)) или возникшая при загрузке ошибка |
/Data/LoadFromFile/LoadFromFile | Data | Метод для загрузки данных из файла | Json-модель результата загрузки данных из файла или возникшая при загрузке ошибка |
Методы, которые реже всего нужны для работы с DM
(они нужны для работы сервиса в целом, но аналитики их почти не используют)
Название | Конроллер | Описание | Результат |
---|---|---|---|
/DataConverter/ConvertXmlToJson | DataConverter
(дополнительный функционал) |
Метод для преобразования данных из формата XML в Json | Json-модель результата преобразования данных |
/DataConverter/ConvertCsvToJson | DataConverter
(дополнительный функционал) |
Метод для преобразования данных из формата CSV в Json | Json-модель результата преобразования данных |
/DataConverter/ConvertExcelToJson | DataConverter
(дополнительный функционал) |
Метод для преобразования данных из формата Excel в Json | Json-модель результата преобразования данных |
/DataCopier/CopyDictionaryElement/CopyDictionaryElement | DataCopier
(дополнительный функционал) |
Метод для копирования элемента справочника | Идентификатор нового элемента справочника |
/DataCopier/CopyIndocatorData/CopyIndicator | DataCopier
(дополнительный функционал) |
Метод для копирования данных показателя | Json-модель скопированных данных показателя |
/DataLoader/LoadTableData | DataLoader | Метод для загрузки данных в таблицу | Json-модель загруженных в таблицу данных |
/DataLoader/LoadDictionaryData | DataLoader | Метод для загрузки данных в справочник | Json-модель загруженных в справочник данных |
/Installer/Install | Installer | Метод для установки объектов DataManager:
|
Json-модель результата установки объектов DataManager |
/LogManager/CheckCompleteTaskLog | LogManager | Метод для проверки задачи на завершение и формирования логов и статистики | Json-модель результатов проверки и формирования логов и статистики |
/LogManager/AddTaskResult | LogManager | Метод для добавления результата задачи для ведения статистики и логирования | Json-модель результатов добавления задачи |
/LogManager/CompleteTaskLog | LogManager | Метод для формирования логов и статистики по задаче | Json-модель результатов формирования логов и статистики |
/TaskManager/NextTask | TaskManager | Метод для получения информации по задаче | Json-модель задачи |
Объекты репозитория
DataManagerTasks - Задачи загрузки данных
Это справочник, который содержит задачи загрузки данных
Название | Код | Тип данных |
---|---|---|
Наименование | NAME | Строка |
Настройки загрузки | OPTIONS | Строка |
Дата последнего запуска | BEGIN_DATE | Дата |
Дата следующего запуска | NEXT_DATE | Дата |
Периодичность запуска (сек.) | COOLDOWN | Целое число |
Описание | DESCRIPTION | Длинный текст |
DataManagerTasksResults - Результаты загрузки данных
Название | Код | Тип данных |
---|---|---|
Наименование | NAME | Строка |
Статус | STATUS | Строка |
Дата начала | BEGIN_DATE | Дата |
Дата завершения | END_DATE | Дата |
Результат | RESULT | Длинный текст |
Задача | TASK | Элемент справочника задач загрузки данных |
Источники данных
- files
- dbase
- https
Поддерживаемые форматы для предоставления данных - JSON, XML, CSV, XLSX
Приемники данных
- Справочники (методы записи -platform API, DB script, - задается в настройках задачи);
- Показатели (методы записи - DB script, - задается в настройках задачи);
- Таблица DB (методы записи - DB script, - задается в настройках задачи).
Логика работы
Producer (host)
- Producer опрашивает все тенанты указанные в конфигурационном файле;
- Рассчитывает задачу и ее параметры;
- Предоставляет интерфейс для получения задачи consumer-ом.
Задачи берутся по очереди из каждого тенанта с одним набором параметров. Т.е. в рамках тенанта задачи выполняются по очереди, в рамках сервиса каждая следующая задача берется из следующего тенанта. (из навигаторе берется самый первый справочник справочника Задачи загрузки данных
Consumer
- После запуска consumer обращается к producer;
- Получает от него модель задачи с параметрами на выполнение;
- После выполнения задачи, независимо от результата, запрашивает новую задачу для выполнения;
- Результат выполнения задачи записывается в справочник с результатами выполнения задач.
DataMapper
Сервис который занимается преобразованием данных.
- Приводит все данные к формату json;
- Исходя из настроек маппинга, разворачивает json в плоский (табличный) вид;
- Выполняет загрузку данных в зависимости от метода записи (api / sql)
- Поддерживает выражения
Целевая схема использования
Начало работы с DataManager
При создании нового тенанта DataManager будет пытаться сам установить новые объекты в репозиторий. То есть при добавлении нового тенанта, задачи DataManager будут доступны автоматически, без перезапуска сервиса - данный функционал на тестировании
ПРИ НЕОБХОДИМОСТИ:
Официально шаги для старта работы с задачами загрузки данных следующие:
Шаги | Пояснение |
---|---|
Шаг 1 (Начало работы) |
|
Шаг 1.1*
(Подключение объектов DataManager через апи) если возникла необходимость, обычно все настраивают разработчики по заявке в стп |
|
Шаг 2 (Создание задачи) |
если необходимо исправить значение в атрибуте с настройкой, а дата запуска стоит, например, вчерашняя, то необходимо стереть значение из атрибута "дата запуска" |
Шаг 3 (Мониторинг загрузки данных) |
|