Платформа 3V/DataManager/Начало работы: различия между версиями
Строка 2: | Строка 2: | ||
== Подключение DataManager == | == Подключение DataManager == | ||
При создании нового тенанта DataManager будет пытаться сам установить новые объекты в репозиторий. | При создании нового тенанта DataManager будет пытаться сам установить новые объекты в репозиторий. | ||
− | То есть при добавлении нового тенанта, задачи DataManager будут доступны автоматически, без перезапуска сервиса | + | То есть при добавлении нового тенанта, задачи DataManager будут доступны автоматически, без перезапуска сервиса |
[[Файл:Начало работы.png|1000px]] | [[Файл:Начало работы.png|1000px]] | ||
Версия 11:33, 1 декабря 2022
Содержание
Подключение DataManager
При создании нового тенанта DataManager будет пытаться сам установить новые объекты в репозиторий. То есть при добавлении нового тенанта, задачи DataManager будут доступны автоматически, без перезапуска сервиса
ПРИ НЕОБХОДИМОСТИ:
если в приложении нет сервиса, то необходимо:
- Подать заявку в СТП
- В описании к обращению указать необходимость данного расширения
ЛИБО
если возникла необходимость, обычно все настраивают разработчики по заявке в стп
- Найти контроллер "Installer" → метод "Install"
- Выбрать необходимый объект для установки
- Нажать "Execute"
- Проверить на стенде наличие объектов с названиями "DataManagerTasks" и "DataManagerTasksResults"
Создание задачи загрузки данных
Создать задачу можно двумя способами:
- С помощью справочника задач загрузки данных
- С помощью методов в swagger
Создание задачи с помощью справочника
Чтобы создать задачу, необходимо:
1) Создать атрибут в справочнике задач загрузки данных
2) Дать название для задачи
3) Вставить в атрибут "Настройки загрузки" настройку маппинга
4) Заполнить атрибут "Дата последнего запуска" (поставить текущую дату) - если необходимо исправить значение в атрибуте с настройкой, а дата запуска стоит, например, вчерашняя, то необходимо стереть значение из атрибута "дата запуска"
При необходимости заполнить атрибуты "Дата следующего запуска", "Периодичность запуска", "Описание"
- Дата следующего запуска - та дата, когда будет произведена следующая загрузка
- Периодичность - повторяемость задачи через определенные промежутки времени
- Описание - любой комментарий по задаче
5) Нажать на сохранение в справочнике
И на этом всё!
Создание задачи с помощью методов
Для создания задачи необходимо обратиться к следующим методам в контроллере Data:
- Data/Load - загрузка в данных в объекты платформы
- Data/LoadFromFile - загрузка данных в объекты платформы, если источник - файл
Пример загрузки данных с помощью Data/Load
На примере 3v.3v-group.net
- Перейти на метод Data/Load
- Нажать "Try it out!"
- Вставить в Request body (тело запроса) настройку маппинга
- Нажать "Execute"
Пример загрузки данных с помощью Data/LoadFromFile
1) Для успешной загрузки данных из файла через дата менеджер необходимо для начала создать справочник- приемник с нужными атрибутами.
На стенде 3V-GROUP.NET создан справочник "Заявки_тест" (код - applications_test)
2) Проверить файл - файл должен содержать одну строку с заголовками, а не две и более
Файл, из которого необходимо грузить данные в справочник, содержит две строки заголовка: на английском и на русском. Строку с русскими заголовками необходимо удалить, так как при дальнейшей работе (маппинге полей) сервис не сможет прочитать столбец, для которого указан тип данных не string, и будет выдавать ошибку
3) Создать задачу в "DataManagerTasks" (справочник "Задачи загрузки данных")
Для данной загрузки в справочнике создана задача с идентификатором 709, где далее будет прописан маппинг полей в атрибуте "Настройки загрузки"
4) Прописать в атрибуте "Настройки загрузки" маппинг полей и нажать "Сохранить" Пример настройки для загрузки данных из файла:
1 {
2 "Source": {
3 "discriminator": "ConstantDataManagerSource"
4 },
5 "Destination": {
6 "discriminator": "DictionaryDataOptions",
7 "SaveMode": "Postgres",
8 "mapperOptions": [
9 {
10 "propertyName": "NAME",
11 "filedName": "NAME",
12 "dataType": "String",
13 "isPrimary": true,
14 "discriminator":"MapperOption"
15 },
16 {
17 "propertyName": "connectiontype",
18 "filedName": "connectiontype",
19 "dataType": "String",
20 "isPrimary": false,
21 "discriminator":"MapperOption"
22 },
23 {
24 "propertyName": "status",
25 "filedName": "status",
26 "dataType": "String",
27 "isPrimary": false,
28 "discriminator":"MapperOption"
29 },
30 {
31 "propertyName": "created",
32 "filedName": "created",
33 "dataType": "DateTime",
34 "isPrimary": false,
35 "discriminator":"MapperOption"
36 },
37 {
38 "propertyName": "closed",
39 "filedName": "closed",
40 "dataType": "DateTime",
41 "isPrimary": false,
42 "discriminator":"MapperOption"
43 },
44 {
45 "propertyName": "customer",
46 "filedName": "customer",
47 "dataType": "String",
48 "isPrimary": false,
49 "discriminator":"MapperOption"
50 },
51 {
52 "propertyName": "email",
53 "filedName": "email",
54 "dataType": "String",
55 "isPrimary": false,
56 "discriminator":"MapperOption"
57 },
58 {
59 "propertyName": "theme",
60 "filedName": "theme",
61 "dataType": "String",
62 "isPrimary": false,
63 "discriminator":"MapperOption"
64 },
65 {
66 "propertyName": "operator",
67 "filedName": "operator",
68 "dataType": "String",
69 "isPrimary": false,
70 "discriminator":"MapperOption"
71 },
72 {
73 "propertyName": "amount",
74 "filedName": "amount",
75 "dataType": "Int32",
76 "isPrimary": false,
77 "discriminator":"MapperOption"
78 },
79 {
80 "propertyName": "implementers",
81 "filedName": "implementers",
82 "dataType": "String",
83 "isPrimary": false,
84 "discriminator":"MapperOption"
85 },
86 {
87 "propertyName": "categories",
88 "filedName": "categories",
89 "dataType": "String",
90 "isPrimary": false,
91 "discriminator":"MapperOption"
92 },
93 {
94 "propertyName": "segments",
95 "filedName": "segments",
96 "dataType": "String",
97 "isPrimary": false,
98 "discriminator":"MapperOption"
99 },
100 {
101 "propertyName": "system",
102 "filedName": "system",
103 "dataType": "String",
104 "isPrimary": false,
105 "discriminator":"MapperOption"
106 },
107 {
108 "propertyName": "time",
109 "filedName": "time",
110 "dataType": "String",
111 "isPrimary": false,
112 "discriminator":"MapperOption"
113 }
114 ],
115 "clearData": false,
116 "dictionaryIdent": "applications_test"
117 }
118 }
5) Открыть swagger → контроллер "Data" → метод "LoadFromFile"
В параметре вызова "optionId" прописать идентификатор настройки, загрузить нужный файл и нажать "execute"
6) Обновить справочник-приемник и убедиться, что все данный выгрузились