Перейти к содержанию

Подключение пользовательского коннектора к AW BI

В этом разделе описывается процесс подключения своего коннектора к AW BI.

Размещение коннектора на сервере

Выберите сервер и запустите сервис вашего коннектора. Убедитесь, что коннектор поднят на том сетевом интерфейсе, который доступен для запросов из AW BI.

Настройка доступа к S3

Убедитесь, что доступ к сервису S3 (контейнер minio в AW BI) открыт для запросов извне docker-сети. Для этого, зайдите по ssh на сервер, где запущен сервис минио и выведите его состояние:

$ cd /opt/aw/app

$ docker compose ps minio

SERVICE   CREATED              STATUS                        PORTS
minio     About a minute ago   Up About a minute (healthy)   0.0.0.0:8181->9000/tcp, 0.0.0.0:8182->9001/tcp, [::]:8182->9001/tcp

Здесь видно, что доступ к S3 API открыт на порту 8181. Если такой информации в выводе docker compose ps нет, то установите значение переменной MINIO_S3_PORT в .env файле AW BI (обычно, он располагается по пути /opt/aw/app/.env) и пересоздайте контейнер docker compose up -d minio.

Добавление нового типа источника в AW BI

Для регистрации нового коннектора (и, соответственно, нового типа источника) необходимо вставить строку в таблицу data_source_type основной базы данных AW BI.

Параметры подключения к основной базе данных AW BI указаны в .env файле (переменные DB_NAME, DB_USERNAME, DB_PASSWORD). Хост и порт для подключения к БД определяется сетевыми настройками доступности контейнера db с вашего рабочего места.

Проще всего выполнить запрос на вставку нового коннектора напрямую из консоли контейнера db. Для этого pайдите по ssh на сервер, внутри которого запущен контейнер db из поставки AW BI, и запустите консоль этого контейнера:

$ cd /opt/aw/app

$ docker compose exec db bash

Внутри контейнера подключитесь к базе данных AW BI. Здесь analytic - это DB_USERNAME, и workspace - это DB_NAME из .env файла AW BI (обычно, он располагается по пути /opt/aw/app/.env)

$ psql -U analytic workspace

Проверьте текущие зарегистрированные типы источников:

workspace=# SELECT * FROM public.data_source_type;

 id |        title         | driver_name  | default_port | is_file |       endpoint_url        
----+----------------------+--------------+--------------+---------+---------------------------
  1 | PostgreSQL           | pgsql        |         5432 | f       | 
  2 | MySQL                | mysql        |         3306 | f       | 
  3 | Oracle               | oracle       |         1521 | f       | 
  6 | Greenplum            | greenplum    |         5432 | f       | 
 10 | Vertica              | vertica      |         5433 | f       | 
 11 | MariaDB              | mariadb      |         3306 | f       | 
 12 | Microsoft SQL Server | mssql        |         1433 | f       | 
 13 | Файл                 | file         |              | t       | 
 14 | Firebird             | firebird     |         3050 | f       | 
 15 | Red                  | red          |         3050 | f       | 
  4 | ClickHouse           | clickhouse   |         9000 | f       | 
 16 | OData                | odata        |              | f       | 
 17 | 1C                   | 1c           |              | f       | 
 (13 rows)

Для добавления нового типа источника необходимо указать следующие параметры:

Название Тип Описание
title string Название типа источника. Показывается в пользовательском интерфейсе при настройке источников данных.
driver_name string Уникальная строка, которая идентифицирует коннектор. Придумайте свое название и укажите здесь.
endpoint_url string Базовый URL, который используется для HTTP запросов к коннектору. Это значение соответствует значению переменной CONNECTOR_URL из настроек коннектора. Указанные в этом URL хост и порт должны быть доступны из всех контейнеров AW BI. Например, http://192.168.1.9:9911

Пример SQL запроса на вставку строки:

INSERT INTO public.data_source_type
(
    id, 
    title, 
    driver_name, 
    endpoint_url
)
VALUES
(
    nextval('data_source_type_id_seq'::regclass), 
    'Мой источник', 
    'my-connector', 
    'http://192.168.1.9:9911'
);

Проверка нового типа источника

Зайдите в список источников данных AW BI и создайте новый источник. В списке доступных типов должна появиться ваша запись.

Если форма добавления нового источника перестала открываться, то зайдите в консоль контейнера db и удалите только что добавленную запись:

workspace=# DELETE FROM public.data_source_type WHERE id=...;

Проверка источника

Добавьте в AW BI новый источник и заполните его параметры подключения.

Убедитесь, что все операции с источником выполняются корректно:

  • Просмотр таблиц и данных источника;
  • Добавление объекта источника в модель;
  • Предпросмотр данных модели;
  • Загрузка данных модели;
  • Отображение данных модели в табличном виджете.