Платформа 3V/DataManager/Описание модели настроек DataManager: различия между версиями
Строка 136: | Строка 136: | ||
== Приемник данных (Destination) == | == Приемник данных (Destination) == | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! Название полей !! Описание !! Тип | ||
+ | |- | ||
+ | | discriminator || Дискриминатор: | ||
+ | * Если приемник - справочник, то "DictionaryDataOptions" | ||
+ | * Если приемник - показатель, то "IndicatorDataOption | ||
+ | || Текст ячейки | ||
+ | |- | ||
+ | | SaveMode || | ||
+ | * DictionaryClient - запись через апи справочников (стоит по умолчанию, можно не прописывать) | ||
+ | * Postgres - запись через БД (в данном случае следует указать) | ||
+ | || Текст ячейки | ||
+ | |- | ||
+ | | mapperOptions[] || Настройки маппинг || string (строка) | ||
+ | |- | ||
+ | | expressions[] || Текст ячейки || коллекция полей | ||
+ | |- | ||
+ | | clearData || Очистить данные (для справочника '''(если дискриминатор - DictionaryDataOptions)''' добавлена настройка для частичной очистки данных) || boolean (логический тип) | ||
+ | |- | ||
+ | | dictionaryIdent || Код справочника-приемника данных || string (строка) | ||
+ | |} |
Версия 09:59, 8 сентября 2022
Модель Json разделена на две части - Source (источник данных) и Destination (приёмник данных)
Содержание
Источник данных (Source)
Дискриминатор
discriminator - дискриминатор (тип данных - string)
- UrlDataManagerSource - в случае, если источник данных ссылка на ресурс
Если источник данных - ссылка, то в SOURCE необходимо указать Uri, Credentials, Headers:
1 "Source": {
2 "discriminator": "UrlDataManagerSource",
3 "Uri": "",
4 "Credentials": "",
5 "Headers": ""
6 },
- ConstantDataManagerSource - если источник данных файл
Если источник данных - файл, то в SOURCE достаточно прописать только дискриминатор:
1 "Source": {
2 "discriminator": "ConstantDataManagerSource"
3 },
Унифицированный идентификатор ресурса
Uri - унифицированный идентификатор ресурса
DataManager поддерживает следующие источники:
- Postgres
- Любой get/post запрос
ВАЖНО: необходимо, чтобы запрос, прописанный в Uri возвращал данные в формате json
Стенд | Пример | Пояснение |
---|---|---|
finance | 1 "Source": {
2 "discriminator": "UrlDataManagerSource",
3 "Uri": "https://fmpcloud.io/api/v3/symbol/available-indexes?apikey=887f267b885bd2384c2b3ef0bfbee3c9"
4 },
|
Если перейти по ссылке, то данные представляются в json-формате |
double.dev | 1 "Source": {
2 "discriminator": "UrlDataManagerSource",
3 "Uri": "http://filestorage/api/File/e0e88d78-339e-496c-baa8-d5fb18848692"
4 },
|
Ссылка на get-запрос файлового хранилища
(как получить ссылку на файл из файлового хранилища см ниже) |
corp-portal | 1 "Source": {
2 "discriminator": "UrlDataManagerSource",
3 "Uri": "https://bs-extension.bright-soft.org/atlassian-adapter/Jira/Projects"
4 },
|
Ссылка на get-запрос сервиса atlassian-adapter |
Для того, чтобы получить ссылку на файл, необходимо сделать следующее:
- Получить идентификатор файла с помощью вычислимого атрибута
- Перейти в файловое хранилище проекта (filestorage) и найти get-метод File/{fileid}
- Заполнить параметр вызова "fileid" найденным в первом пункте значением (некоторые стенды дополнительно в качестве параметра запуска принимают тенант), запустить метод
- После запуска метода скопировать Request URL, оставить строку в формате "http://filestorage/api/File/НАБОР_ЦИФР" (набор цифр, в данном случае - fileid)
В случае, если данные предоставляются не из файлового хранилища, Request URL следует оставить без изменений
Параметры авторизации
Credentials - параметры авторизации Credentials содержит следующие настройки:
Поле | Описание | Тип |
---|---|---|
discriminator |
|
string (строка) |
TokenRequestUrl | Адрес запроса токена - брать из кк | string (строка) |
ClientId | Брать из кк (realm - clients - взять нужного) | string (строка) |
ClientSecret | Брать из кк (realm - clients - взять нужного) - credentials - поле "secret" | string (строка) |
UserName | Логин для авторизации на стенде (данное поле добавляется для дискриминатора "PasswordAuthenticationSettingsDto") | string (строка) |
Password | Пароль для авторизации на стенде(данное поле добавляется для дискриминатора "PasswordAuthenticationSettingsDto") | string (строка) |
Настройка для Credentials для авторизации по логину/паролю:
1 "Credentials": {
2 "discriminator": "PasswordAuthenticationSettingsDto",
3 "TokenRequestUrl": "https://3v.3v-group.net/auth/realms/trivium/protocol/openid-connect/token",
4 "clientId": "clientid",
5 "clientSecret": "5gq428rz-wpx1-5751-b0r1-h4x5wb9m5210",
6 "UserName": "username",
7 "Password": "password"
8 }
Настройка для Credentials для аутентификации конфиденциального клиента:
1 "Credentials": {
2 "discriminator": "ConfidentialClientAuthenticationSettingsDto",
3 "TokenRequestUrl": "https://smart-id-test.mos.ru/iam/auth/realms/dev/protocol/openid-connect/token",
4 "clientId": "clientid",
5 "clientSecret": "5gq428rz-wpx1-5751-b0r1-h4x5wb9m5210"
6 }
Токен доступа
Headers - токен доступа
1 вариант - тенант
"Headers": { "namespace": "landscaping" }
2 вариант - Bearer <token>
Токен берем из средств разработчика (f12 или ctrl+f12)
"Headers": {"Authorization": "Bearer <token>"}
3 вариант - секрет
Создается отдельный клиент, который по написанному токену имеет ограниченный набор прав
"Headers": { "secret": "Ke2QSqWkX4FgyKnx6RYnYFLyqA2MHTq9Jvdk" }
Приемник данных (Destination)
Название полей | Описание | Тип |
---|---|---|
discriminator | Дискриминатор:
|
Текст ячейки |
SaveMode |
|
Текст ячейки |
mapperOptions[] | Настройки маппинг | string (строка) |
expressions[] | Текст ячейки | коллекция полей |
clearData | Очистить данные (для справочника (если дискриминатор - DictionaryDataOptions) добавлена настройка для частичной очистки данных) | boolean (логический тип) |
dictionaryIdent | Код справочника-приемника данных | string (строка) |