При использовании загрузчика в веб-интерфейсе ViQube-Admin, таблица на ViQube удаляется полностью и загружается снова. Это не всегда приемлемо, т.к. во время этой процедуры могут, например, пропасть данные на дашборде, или загрузка может занять много времени, если таблица содержит большое количество данных. Выходом из данной ситуации является использование ViQube API для выполнения инкрементальной загрузки. Ниже приведен один из возможных вариантов решения данной проблемы.
Для выполнения инкрементальной загрузки:
Создайте загрузчик. Например:
Блок кода curl --request POST \ --url https://URL/viqube/loaders \ --header 'Authorization: Bearer TOKEN' \ --header 'Content-Type: application/json' \ --header 'X-API-VERSION: 3.10' \ --data '{ "database": "ID_БАЗЫ", "options": { "query": "select ПОЛЕ1, ПОЛЕ2, ... FROM ТАБЛИЦА", "type": "JDBC", "connection": "jdbc CONNECTION STRING", "driver": "com.mysql.jdbc.Driver" (замените на нужный, в зависимости от внешней базы данных) }, "table": "ВИКУБ_ТАБЛИЦА_С_НАСТРОЕННЫМИ_ПОЛЯМИ_ПО_ЧИСЛУ_В_ЗАПРОСЕ" }'
Информация |
---|
Перед отправкой запроса необходимо получить токен аутентификации. |
В ответе на запрос, среди прочего, вы получите идентификатор загрузчика. Например:
"id": 12
.Теперь, для обновления данных, вы можете выполнять загрузку в назначенное время:
Блок кода curl --request POST \ --url https://URL/viqube/loaders/ID_ЗАГРУЗЧИКА/execute \ --header 'Authorization: Bearer ТОКЕН' \ --header 'Content-Type: application/json' \ --header 'X-API-VERSION: 3.10' \ --data '{ "command": "start" }'
Выборка | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||
📋 Подробное описаниеПри использовании загрузчика в веб интерфейсе ViQube-Admin таблица на Викубе удаляется полностью и загружается снова. Не всегда это приемлемо, например, во время этой процедуры пропадают данные на дашборде, или загрузка может занимать долгое время, если таблица очень тяжелая. Выход - использования Viqube API для реализации своей инкрементальной загрузки. Приведённый пример демонстрирует один из возможных вариантов решения на основе Python- скрипта. |
...
Исходные данныеТаблица-приёмник ViQube testload Таблица-источник в postgres testload Для воспроизведения работы скрипта у себя необходимо создать такую же таблицу в своей тестовой СУБД SQL и загрузить в нее данные из приложенной CSV.
| |||||
breakoutMode | wide
|
---|