Автоматизація експорту звітів Redash
Загальний опис
Панель адміністратора містить окрему сторінку для управління звітами Redash - перелік дашбордів, для кожного:
-
посилання на дашборд в Admin екземплярі Redash
-
посилання на експорт дашборду
-
індикатор ідентичності/наявності дашборду на Viewer екземплярі Full Scope
Сервіс експорту звітності повертає архів з json файлом дашборду та всіма залежними запитами в окремій теці queries.
Адмін панель комітить експортований дашборд в Gerrit репозиторій реєстру і створює запит на злиття Full Scope
Отримані файли Адміністратор даних комітить в Gerrit репозиторій реєстру, чим збуджує пайплан для внесення змін в реєстр.
Сервіс експорту звітності
Авторизація
Для звернення до Redash API необхідний API ключ, що знаходиться в сікретах OpenShift.
-
назва: redash-api-keys
-
ключ: admin-api-key
REST API
Звернення до ендпоінта створеного сервісу повертає перелік дашбордів наявних на адмін екземплярі Redash.
GET /
[
{
"id": ...
"name": ...
"slug": ...
"created_at": ...
"updated_at": ...
},
...
]
У випадку зазначення slug дашброрду, ендпоінт повертає архів з дашбордами у json форматі.
GET /slug_id
-
приймає на вхід slug_id (ідентифікатор дашборда)
-
отримує json дашборда з Redash Admin REST API (
dashboard_<slug>.json
) -
для кожного із залежних запитів отримує json запиту з Redash Admin REST API (зберігає масивом у
queries/parameters_<slug>.json
), формат файлу зазначено нижче -
формує zip пакет для повернення
Формат запитів до Redash API детально описано у статті Побудова аналітичних звітів (Дашборд та Запит) |
{
"count": 3,
"page": 1,
"page_size": 25,
"results": [
{"id": ...},
{"id": ...},
{"id": ...}
]
}