3. Запуск и остановка Компонента
Компонент не имеет графического интерфейса и запускается автоматически после запуска сервера.
Все модули Компонента оформлены в виде системных служб, имеют отдельные файлы конфигурации, автоматически запускаются при старте сервера и автоматически останавливаются при его выключении.
При необходимости любой из сервисов/модулей можно остановить и перезапустить.
Данный раздел содержит описание запуска и остановки модулей ручным способом.
Примечание
Программные средства настраиваются в зависимости от используемой конфигурации. Состав модулей приведен в разделе Состав модулей в дистрибутиве документа «Техническое описание Компонента «Витрина данных».
3.1. Prostore
3.1.1. Доступные способы запуска Prostore
Систему Prostore можно запускать при помощи Docker, как JAR-файл или с использованием systemd.
Для запуска Prostore при помощи Docker введите команду:
docker start <название системы>
Процесс запуска Prostore приведен в документации сервиса: https://prostore.datamart.ru/docs_prostore/deployment/getting_started/getting_started.html.
Для запуска модуля при помощи systemd создайте unit-файл /etc/systemd/system/<название системы>.service со следующим содержимым:
[Unit]
Description="Service for prostore"
After=syslog.target
[Service]
Environment="LANG=en_US.UTF-8"
Environment="JAVA_HOME=/usr/lib/jvm/axiomjdk-java17-amd64/"
Environment="JDK_JAVA_OPTIONS=--add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.time=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.util.concurrent.atomic=ALL-UNNAMED"
WorkingDirectory=/egov/dtm-2.6.1/dtm-query-execution-core
User=app
Group=app
ExecStart=/usr/bin/java -jar dtm-query-execution-core-7.6.1.jar
[Install]
WantedBy=multi-user.target
Примените настройки и запустите сервис:
sudo systemctl daemon-reload
sudo systemctl enable --now <название модуля>.service
3.2. Агент проверок
Описание настроек модуля приведено в Настройка программных средств.
3.2.1. Запуск модуля
3.2.1.1. Состав и содержание дистрибутивного пакета
Состав дистрибутива Агента проверок:
check-adapter-<version>.jar– исполняемый файл;application.yml– файл конфигурации Агента проверок;schema.sql– файл с описанием схемы базы данных, подлежащей проверке. Файл также содержит описание ограничений между таблицами.
3.2.1.2. Предварительные операции (установка «пре-реквизитов»)
Перед запуском Агента проверок выполните от имени root-пользователя (либо используя команду sudo) следующие действия:
Создайте пользователя {{user}} и группу {{user_group}}, под которым будет работать Агент проверок. Распакуйте дистрибутивный пакет в каталог
/distr/app.Добавьте в каталог
/distr/appконфигурационный файлapplication.yml, подготовленный согласно описанию Раздел 2.2.2.1.
3. Добавьте в каталог /distr/app конфигурационный файл schema.sql, (имя файла должно соответствовать имени схемы,
подлежащей проверке) подготовленный согласно описанию Раздел 2.2.2.3.
3.2.1.3. Предусловия выполнения первого запуска Агента проверок версии 2.7.0
Проверьте версию Prostore
Для хранения персистентных данных новой версии Агента проверок требуется Prostore версии 7.6 и выше
Проверьте тип подключенных датасорсов Prostore:
Данные персистентности хранятся в snapshot-таблицах Prostore, которые поддерживаются только в ADP
Если все имеющиеся датасорсы с типом ADP, перейдите к следующему шагу.
Если нет ни одного ADP-датасорса, то разверните СУБД PostgreSQL и настройте подключение к Prostore.
Если имеются и ADP, и датасорсы других типов, то в конфигурационном файле Агента проверок задайте перечень наименований ADP-датасорсов, используемых для обеспечения персистентности.
Перезапустите Агент проверок.
В случае наличия в логах ошибок миграции, устраните возможные причины и повторите запуск Агента проверок.
3.2.1.4. Запуск Агента проверок
Убедитесь, что пользователь {{user}} имеет доступ к директории, в которой установлен Агент проверок (/distr/app).
Пример раздела конфигурации скрипта для запуска Агента проверок с использованием сервиса systemd.
Данный файл, с названием dqf-check-adapter.service, необходимо сохранить в каталог /etc/systemd/system/, указав,
при необходимости, корректные пути к файлам:
[Unit]
Description="Check-adapter-dqf-service"
After=syslog.target
[Service]
Type=simple
WorkingDirectory=/distr/app
LimitNOFILE=1048576:1048576
User={{user}} # указать пользователя
Group={{user_group}} # указать группу
Environment="JAVA_HOME=/usr/lib/jdk/jdk-17.0.7"
ExecStart=/usr/lib/jdk/jdk-17.0.7/bin/java
-XX:+FlightRecorder
-XX:+UseZGC
-XX:MaxRAMPercentage=80.0
-XX:+UseContainerSupport
-XX:+ExplicitGCInvokesConcurrent
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=./heapdump.hprof
-Dlog4j.configurationFile=./conf/logback.xml
-Duser.language=ru
-Dfile.encoding=UTF-8
-Dcatalina.base=/distr/app
-jar /distr/app/check-adapter.jar
--spring.config.location=/distr/app/application.yml
[Install]
WantedBy=multi-user.target
Далее от имени root-пользователя или используя sudo выполните команду по включению, запуску сервиса и проверке его статуса:
sudo systemctl daemon-reload
sudo systemctl enable dqf-check-adapter
sudo systemctl start dqf-check-adapter
sudo systemctl -l status dqf-check-adapter
3.2.1.5. Настройка ротации логов (опционально)
Во избежание переполнения диска лог-файлами, рекомендуется настроить ротацию лог-файлов systemd сервиса.
Настройка логирования осуществляется с помощью файлов конфигурации logrotate и systemd сервиса.
Если этих файлов не существует, их необходимо создать.
Установите пакет logrotate, для rpm-base дистрибутивов выполните команду:
sudo yum install logrotate
Добавьте в файл systemd сервиса (/etc/systemd/system/dqf-check-adapter.service) следующие настройки логирования:
...
[Service]
Type=simple
StandardOutput=append:/var/log/{{ file_name }}
StandardError=append:/var/log/{{ file_name }}
...
Создайте файл конфигурации logrorate (поместить файл в /etc/logrotate.cron/dqf-check-adapter.conf) и поместите в него следующие
строки:
/var/log/{{ file_name }} {
rotate {{ rotate }}
size {{ file_size }}
create
nocompress
copytruncate
}
где:
rotate – какое количество лог файлов оставлять;
file_size – размер лог-файла при котором будет происходить ротация.
Создайте файл со скриптом запуска утилиты logrotate, поместите скрипт по пути /etc/logrotate.cron/datasteward_logrotate.sh.
3.2.2. Остановка модуля
Для ручной остановки необходимо подключиться по ssh к серверу, найти процесс, который содержит jar-файл и остановить его.
Пример:
ps aux | grep check-adapter
kill <pid>
kill «номер процесса».
3.3. Сервис генерации уникального номера (Counter-provider)
Описание настроек модуля приведено в Настройка программных средств.
Приведенные ниже шаги необходимо выполните при первом запуске Counter-provider версии 2.7.0 с персистентностью в Prostore.
Задайте необходимые настройки в конфигурационном файле модуля новой версии.
При кастомизации шага инкремента номеров счетчиков (
counter.increment-gap), он устанавливается одинаковым для всех экземпляров модуля. При установкеincrement-gap >1возможны пропуски генерируемой последовательности значений после обновления или при перезапуске модуля.Для обновления выберите период минимальной прикладной активности
Остановите Counter-provider
Запустите Counter-provider версии 2.7.0 в одном экземпляре.
В случае запуска нескольких экземпляров возможны ошибки при выполнении миграции.
После успешного выполнения миграции (модуль запущен, в логах отсутствуют ошибки миграции) при необходимости выполнить запуск других экземпляров.
В случае наличия в логах ошибок миграции, необходимо устранить возможные причины и повторить запуск одного экземпляра Counter-provider новой версии.
Модуль можно запускать помощи Docker, как JAR-файл или с использованием systemd.
Для запуска модуля при помощи Docker введите команду:
docker start <название модуля>
Для запуска модуля из JAR-файла, введите команду:
java
[-Dconfig.location=<путь до application.yml> ]
[-Dlogging.config=logback.xml]
-jar <путь jar>
Команды, заключенные в [], выполняются опционально.
Для запуска модуля при помощи systemd создайте unit-файл /etc/systemd/system/<название модуля>.service со следующим содержимым:
[Unit]
Description=<описание>
After=network.target
[Service]
Type=simple
User=<пользователь>
WorkingDirectory=<путь до каталога с jar и logback.xml>
ExecStart=<путь до исполняемого файла java> -Dconfig.location=<путь до конфига> -Dlogging.config=logback.xml -jar <путь до jar>
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
Примените настройки и запустите сервис:
sudo systemctl daemon-reload
sudo systemctl enable --now <название модуля>.service
Остановка модуля выполняется при помощи Docker-команды:
docker stop <название модуля>
Для ручной остановки необходимо подключиться по SSH к серверу, найти нужный процесс и остановить его.
Пример:
ps aux | grep <название модуля>
kill <pid>
3.4. Сервис формирования документов
Описание настроек модуля приведено в разделе Настройка программных средств.
3.4.1. Запуск модуля
Модуль можно запускать помощи Docker, как JAR-файл или с использованием systemd.
Для запуска модуля при помощи Docker введите команду:
docker start <название модуля>
Для запуска модуля из JAR-файла, введите команду:
java
[-Dconfig.location=<путь до application.yml> ]
[-Dlogging.config=logback.xml]
-jar <путь jar>
Команды, заключенные в [], выполняются опционально.
Для запуска модуля при помощи systemd создайте unit-файл /etc/systemd/system/<название модуля>.service со следующим содержимым:
[Unit]
Description=<описание>
After=network.target
[Service]
Type=simple
User=<пользователь>
WorkingDirectory=<путь до каталога с jar и logback.xml>
ExecStart=<путь до исполняемого файла java> -Dconfig.location=<путь до конфига> -Dlogging.config=logback.xml -jar <путь до jar>
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
Примените настройки и запустите сервис:
sudo systemctl daemon-reload
sudo systemctl enable --now <название модуля>.service
3.4.2. Остановка модуля
Остановка модуля выполняется при помощи Docker-команды:
docker stop <название модуля>
Для ручной остановки необходимо подключиться по SSH к серверу, найти нужный процесс и остановить его.
Пример:
ps aux | grep <название модуля>
kill <pid>ы
3.5. СМЭВ3-адаптер
3.5.1. Запуск модуля
Модуль можно запускать помощи Docker, как JAR-файл или с использованием systemd.
Для запуска модуля при помощи Docker введите команду:
docker start <название модуля>
Для запуска модуля из JAR-файла, введите команду:
java
--add-exports=java.base/sun.security.util=ALL-UNNAMED \
--add-exports=java.base/sun.security.x509=ALL-UNNAMED \
--add-exports=java.base/sun.security.pkcs=ALL-UNNAMED \
--add-exports=java.base/sun.security.provider=ALL-UNNAMED \
--add-exports=java.base/sun.security.tools.keytool=ALL-UNNAMED \
--add-exports=java.base/sun.net.ftp=ALL-UNNAMED \
--add-opens=java.xml/com.sun.org.apache.xerces.internal.dom=ALL-UNNAMED \
--add-opens=java.xml/org.w3c.dom=ALL-UNNAMED \
[-Dconfig.location=<путь до application.yml> ]
[-Dlogging.config=logback.xml]
-jar <путь jar>
Команды, заключенные в [], выполняются опционально.
Для запуска модуля при помощи systemd создайте unit-файл /etc/systemd/system/<название модуля>.service со следующим содержимым:
[Unit]
Description=<описание>
After=network.target
[Service]
Type=simple
User=<пользователь>
WorkingDirectory=<путь до каталога с jar и logback.xml>
Environment="JDK_JAVA_OPTIONS=\
--add-exports=java.base/sun.security.util=ALL-UNNAMED \
--add-exports=java.base/sun.security.x509=ALL-UNNAMED \
--add-exports=java.base/sun.security.pkcs=ALL-UNNAMED \
--add-exports=java.base/sun.security.provider=ALL-UNNAMED \
--add-exports=java.base/sun.security.tools.keytool=ALL-UNNAMED \
--add-exports=java.base/sun.net.ftp=ALL-UNNAMED \
--add-opens=java.xml/com.sun.org.apache.xerces.internal.dom=ALL-UNNAMED \
--add-opens=java.xml/org.w3c.dom=ALL-UNNAMED"
ExecStart=<путь до исполняемого файла java> -Dconfig.location=<путь до конфига> -Dlogging.config=logback.xml -jar <путь до jar>
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
Примените настройки и запустите сервис:
sudo systemctl daemon-reload
sudo systemctl enable --now <название модуля>.service
3.5.2. Остановка модуля
Остановка модуля выполняется при помощи Docker-команды:
docker stop <название модуля>
Для ручной остановки необходимо подключиться по SSH к серверу, найти нужный процесс и остановить его.
Пример:
ps aux | grep <название модуля>
kill <pid>
3.6. СМЭВ QL Сервер
Описание настроек модуля приведено в разделе Настройка программных средств.
3.6.1. Быстрый старт
3.6.1.1. Создание и конфигурация
Создать новое приложение СМЭВ QL Сервера командой:
java -jar smevql-server-all.jar new <new-app-name>
Данная команда создаст структуру папок сервера и исполняемый файл smevql внутри <new-app-name>.
3.6.1.2. Запуск и управление
Запуск СМЭВ QL Сервера осуществляется командой:
./smevql start -e <environment>
environment- задается название среды разработки. Без указания окружения сервер будет запущен вdevelopment.
В момент запуска приложения выполняются проверки наличия и корректности заполнения конфигурационного файла и файлов моделей.
Типовые ошибки представлены ниже:
Тип ошибки: Некорректный формат или отсутствие файла модели
Пример лог-записи: {«@timestamp»:»2024-01-10T16:25:55.460659+03:00»,»@version»:»1»,»message»:»Ошибка старта сервера»,»logger_name»:»ru.gov.digital.smevql.server.RequestHandler»,»thread_name»:»main»,«level»:»ERROR»,»level_value»:40000,»stack_trace»:»java.lang.RuntimeException: Ошибка парсинга модели данных из файла
Тип ошибки: Некорректно заполнен конфигурационный файл
Пример лог-записи: {«@timestamp»:»2024-01-10T16:27:01.202248+03:00»,»@version»:»1»,»message»:»Ошибка старта сервера»,»logger_name»:»ru.gov.digital.smevql.server.RequestHandler»,»thread_name»:»main»,«level»:»ERROR»,»level_value»:40000,»stack_trace»:»net.mamoe.yamlkt.YamlDecodingException:Top-level decoder: Yaml Block Map: bad indentation, baseIndent=0, newIndent=2n uri: smevql/api/v1
Остановка СМЭВ QL Сервера осуществляется командой:
./smevql stop
Перезапуск СМЭВ QL Сервера осуществляется командой:
./smevql restart
3.6.1.3. Работа с сервером
3.6.1.3.1. Генераторы
Генераторы создают папки и файлы-шаблоны с начальными значениями. Для запуска генератора можно использовать полную команду
./smevql generate или короткий алиас ./smevql g.
Новый пустой источник генерируется командой:
./smevql g source <source-name>
Пример источника на основе Prostore:
prostore_source:
type: rest
version: '1.0'
adapter: prostore
protocol: http
host: smevql-dtm-prostore01.ru-central1.internal
port: 9090
path: api/v1/datamarts/query?format=json
headers:
- content-type: application/json
threads-count: 4
connection-timeout: 30
Новая модель генерируется командой:
./smevql g model <model-name>
Пример модели:
resources:
- mo: *base_model
name: Медицинская организация
description: Логическая таблица "Медицинская организация"
fields:
<<: *default_fields
parent_id:
<<: *ds
name: parent_id
update_ts:
<<: *dts
name: update_ts
address:
<<: *ds
name: address
address_fias_guid:
<<: *ds
name: address_fias_guid
enabled:
<<: *ds
name: enabled
name:
<<: *ds
name: name
region_okato:
<<: *ds
name: region_okato
create_ts:
<<: *dts
name: create_ts
id:
<<: *pks
name: id
rmis_id:
<<: *ds
name: rmis_id
phone:
<<: *ds
name: phone
connections:
has_many: []
belongs_to:
- attachment:
primary_key: [ mo_id ]
foreign_key: [ id ]
- resource:
primary_key: [ mo_id ]
foreign_key: [ id ]
extract:
source:
- name: prostore
table: misdm02.mo
- profilecode_resource: *base_model
- resource: *base_model
- observation: *base_model
- book: *base_model
- slot: *base_model
- monitoring: *base_model
- referral: *base_model
- attachment: *base_model
- patient: *base_model
- service: *base_model
- unaccessible_period: *base_model
Из существующего Prostore модель генерируется командой:
./smevql schema-gen test -h localhost -p 9090 -d demo_view
test- имя директории, куда будет выгружена модель;-h localhost -p 9090- это хост и порт Prostore;-d demo_view- витрина (схема).
3.6.1.4. Сборка проекта
Собрать проект можно с помощью gradle:
./gradlew clean build
3.7. Стандартный загрузчик
3.7.1. Запуск модуля
Модуль можно запускать помощи Docker, как JAR-файл или с использованием systemd.
Для запуска модуля при помощи Docker введите команду:
docker start <название модуля>
Для запуска модуля из JAR-файла, введите команду:
java
[-Dconfig.location=<путь до application.yml> ]
[-Dlogging.config=logback.xml]
-jar <путь jar>
Команды, заключенные в [], выполняются опционально.
Для запуска модуля при помощи systemd создайте unit-файл /etc/systemd/system/<название модуля>.service со следующим содержимым:
[Unit]
Description=<описание>
After=network.target
[Service]
Type=simple
User=<пользователь>
WorkingDirectory=<путь до каталога с jar и logback.xml>
ExecStart=<путь до исполняемого файла java> -Dconfig.location=<путь до конфига> -Dlogging.config=logback.xml -jar <путь до jar>
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
Примените настройки и запустите сервис:
sudo systemctl daemon-reload
sudo systemctl enable --now <название модуля>.service
3.7.2. Остановка модуля
Остановка модуля выполняется при помощи Docker-команды:
docker stop <название модуля>
Для ручной остановки необходимо подключиться по SSH к серверу, найти нужный процесс и остановить его.
Пример:
ps aux | grep <название модуля>
kill <pid>
3.8. BLOB-адаптер
Описание настроек модуля приведено в разделе Настройка программных средств.
3.8.1. Запуск модуля
Модуль можно запускать помощи Docker, как JAR-файл или с использованием systemd.
Для запуска модуля при помощи Docker введите команду:
docker start <название модуля>
Для запуска модуля из JAR-файла, введите команду:
java
[-Dconfig.location=<путь до application.yml> ]
[-Dlogging.config=logback.xml]
-jar <путь до jar>
Команды, заключенные в [], выполняются опционально.
Для запуска модуля при помощи systemd создайте unit-файл /etc/systemd/system/<название модуля>.service со следующим содержимым:
[Unit]
Description=<описание>
After=network.target
[Service]
Type=simple
User=<пользователь>
WorkingDirectory=<путь до каталога с jar и logback.xml>
ExecStart=<путь до исполняемого файла java> -Dconfig.location=<путь до конфига> -Dlogging.config=logback.xml -jar <путь до jar>
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
Примените настройки и запустите сервис:
sudo systemctl daemon-reload
sudo systemctl enable --now <название модуля>.service
3.8.2. Остановка модуля
Остановка модуля выполняется при помощи Docker-команды:
docker stop <название модуля>
Для ручной остановки необходимо подключиться по SSH к серверу, найти нужный процесс и остановить его.
Пример:
ps aux | grep <название модуля>
kill <pid>
3.9. CSV-Uploader
Описание настроек модуля приведено в разделе Настройка программных средств.
3.9.1. Запуск модуля
Модуль можно запускать помощи Docker, как JAR-файл или с использованием systemd.
Для запуска модуля при помощи Docker введите команду:
docker start <название модуля>
Для запуска модуля из JAR-файла, введите команду:
java
[-Dconfig.location=<путь до application.yml> ]
[-Dlogging.config=logback.xml]
-jar <путь jar>
Команды, заключенные в [], выполняются опционально.
Для запуска модуля при помощи systemd создайте unit-файл /etc/systemd/system/<название модуля>.service со следующим содержимым:
[Unit]
Description=<описание>
After=network.target
[Service]
Type=simple
User=<пользователь>
WorkingDirectory=<путь до каталога с jar и logback.xml>
ExecStart=<путь до исполняемого файла java> -Dconfig.location=<путь до конфига> -Dlogging.config=logback.xml -jar <путь до jar>
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
Примените настройки и запустите сервис:
sudo systemctl daemon-reload
sudo systemctl enable --now <название модуля>.service
3.9.2. Остановка модуля
Остановка модуля выполняется при помощи Docker-команды:
docker stop <название модуля>
Для ручной остановки необходимо подключиться по SSH к серверу, найти нужный процесс и остановить его.
Пример:
ps aux | grep <название модуля>
kill <pid>
3.10. DATA-uploader – Модуль исполнения асинхронных заданий
Описание настроек модуля приведено в разделе Настройка программных средств.
3.10.1. Запуск модуля
Модуль можно запускать помощи Docker, как JAR-файл или с использованием systemd.
Для запуска модуля при помощи Docker введите команду:
docker start <название модуля>
Для запуска модуля из JAR-файла, введите команду:
java
[-Dconfig.location=<путь до application.yml> ]
[-Dlogging.config=logback.xml]
-jar <путь jar>
Команды, заключенные в [], выполняются опционально.
Для запуска модуля при помощи systemd создайте unit-файл /etc/systemd/system/<название модуля>.service со следующим содержимым:
[Unit]
Description=<описание>
After=network.target
[Service]
Type=simple
User=<пользователь>
WorkingDirectory=<путь до каталога с jar и logback.xml>
ExecStart=<путь до исполняемого файла java> -Dconfig.location=<путь до конфига> -Dlogging.config=logback.xml -jar <путь до jar>
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
Примените настройки и запустите сервис:
sudo systemctl daemon-reload
sudo systemctl enable --now <название модуля>.service
3.10.2. Остановка модуля
Остановка модуля выполняется при помощи Docker-команды:
docker stop <название модуля>
Для ручной остановки необходимо подключиться по SSH к серверу, найти нужный процесс и остановить его.
Пример:
ps aux | grep <название модуля>
kill <pid>
3.11. REST-Uploader – Модуль асинхронной загрузки данных из сторонних источников
Описание настроек модуля приведено в разделе Настройка программных средств.
3.11.1. Запуск модуля
Модуль можно запускать помощи Docker, как JAR-файл или с использованием systemd.
Для запуска модуля при помощи Docker введите команду:
docker start <название модуля>
Для запуска модуля из JAR-файла, введите команду:
java
[-Dconfig.location=<путь до application.yml> ]
[-Dlogging.config=logback.xml]
-jar <путь jar>
Команды, заключенные в [], выполняются опционально.
Для запуска модуля при помощи systemd создайте unit-файл /etc/systemd/system/<название модуля>.service со следующим содержимым:
[Unit]
Description=<описание>
After=network.target
[Service]
Type=simple
User=<пользователь>
WorkingDirectory=<путь до каталога с jar и logback.xml>
ExecStart=<путь до исполняемого файла java> -Dconfig.location=<путь до конфига> -Dlogging.config=logback.xml -jar <путь до jar>
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
Примените настройки и запустите сервис:
sudo systemctl daemon-reload
sudo systemctl enable --now <название модуля>.service
3.11.2. Остановка модуля
Остановка модуля выполняется при помощи Docker-команды:
docker stop <название модуля>
Для ручной остановки необходимо подключиться по SSH к серверу, найти нужный процесс и остановить его.
Пример:
ps aux | grep <название модуля>
kill <pid>
3.11.3. Добавление поставщика данных
Для добавления поставщика данных должен генерироваться токен авторизации, который передается поставщику.
Генерация токена осуществляется по следующим шагам:
Открыть web-страницу https://jwt.io/;
Выбрать алгоритм HS256;
Ввести в payload следующие поля:
{
"sub": "1234567890",
"iss": "John Doe"
}
где:
sub - идентификатор поставщика данных, для которого сформирован токен;
iss - кем сформирован токен.
Подпись токена формируется методом получения хеш-функции SHA-256 с секретом. Для этого нужно в verify signature в поле your-256-bit-secret ввести значение из test-secret настроек сервиса REST-uploader.
Для добавления идентификатора поставщика данных в Базу данных Redis необходимо в структуре set, содержащую идентификаторы поставщика данных, выполнить операцию SADD:
SADD ids ProviderID
где:
ids - ключ, по которому осуществляется доступ к набору элементов;
ProviderID - идентификатор поставщика данных.
В случае когда ожидание ответа на запрос превысило указанное количество времени, необходимо сделать повторный запрос.
В случае возникновения ошибок при обработке файлов сотрудникам, загружаюмщим данные, необходимо изучить возврат REST-Uploader. Если ошибка внутренняя, то необходимо обратиться к администратору Витрины данных. Администратор изучит логи REST-Uploader / Data-Uploader.