Описание модели настроек DataManager
Модель Json разделена на две части - Source (источник данных) и Destination (приёмник данных)
Содержание
Source
Discriminator
discriminator - дискриминатор (тип данных - string)
- UrlDataManagerSource - в случае, если источник данных ссылка на ресурс
- ConstantDataManagerSource - если источник данных файл
Если источник данных - файл, то в SOURCE достаточно прописать только дискриминатор:
1 "Source": {
2 "discriminator": "ConstantDataManagerSource"
3 },
Uri
Uri - унифицированный идентификатор ресурса Запоминаем, дети, DataManager поддерживает следующие источники:
- Postgres
- Любой get/post запрос
Стенд | Пример | Пояснение |
---|---|---|
finance | "Uri": "https://fmpcloud.io/api/v3/symbol/available-indexes?apikey=887f267b885bd2384c2b3ef0bfbee3c9" | Если перейти по ссылке, то данные представляются в json-формате |
double.dev | Текст ячейки | Текст ячейки |
corp-portal | Текст ячейки | Текст ячейки |
Как получить Uri: Запрос, указанный в Uri должен вернуть json-модель, как в примерах с корп портала/финансов/ецп
Ссылка на файловое хранилище - get запрос:
1. Идентификатор файла достать
2. Сваггер для файлового хранилища (от проекта), контроллер файл, get-метод File{fileid}
Параметры вызова - тенант и идентификатор файла, затем execute - таким образом мы получаем ссылку на ресурс, смотрим URL Request - копируем его - вставляем эту ссылку в Uri
На примере корп портала - там куча запросов и по ним получаем ссылку - вставляем в Uri Ссылку вставить в таком формате - http://filestorage/api/File/e0e88d78-339e-496c-baa8-d5fb18848692
Далее авторизация
Credentials
Есть такая штука: "Credentials": { "discriminator": "ConfidentialClientAuthenticationSettingsDto", "TokenRequestUrl": "https://3v.3v-group.net/auth/realms/trivium/protocol/openid-connect/token", "ClientId": "что-то", "ClientSecret": "что-то" }
есть такая штука:
"Credentials": { "discriminator": "PasswordAuthenticationSettingsDto", "TokenRequestUrl": "https://smart-id-test.mos.ru/iam/auth/realms/dev/protocol/openid-connect/token", "clientId": "smart-app", "clientSecret": "3fa537da-eac2-4625-a9a5-e8c0db5b4425", "UserName": "ivanov_ii", "Password": "7654321rM" }, "Headers": { "namespace": "landscaping" }
Headers
"Headers": { "namespace": "landscaping" }
"Headers": { "Authorization": "Bearer <token>" } Токен берем из средств разработчика (f12 или ctrl+f12) Создается отдельный клиент, который по написанному токену имеет ограниченный набор прав