Из историй про Power BI. Опять же, может кто подскажет. Задача была простая - использовать Power BI API, чтобы выгружать PDF и обновлять дашборды. Результат сохранять в Shared Folder. Этим больше занимался мой коллега.
Тема интеграции ETL и BI моя любимая! Так как нельзя доверять расписанию BI, так как оно сработает независимо от того, ETL готов или нет. Всегда одни и те же проблема. В 9 утра отчеты уже обновились, все ковыряются в данных и к обеду находят, что данные кривые - оказывается ETL упал ночью😵 Я настраивал так для Microstrategy и
SAP BusinessObjects. И даже в
tableau делал через Pentaho.
В Tableau я всегда использовал tabcmd (клиент для CLI). Мы можешь его установить на машину с ETL и дергать Tableau Server, как только ETL готов, если что-то сломалось, просто получим уведомление по email и в messenger. Есть еще библиотека для Python, делает тоже самое. В общем очень элегантно и работает безотказно. Можно еще добавить для Windows
Febooti CLI email клиент, он будет отправлять отчеты, а можно и в AWS S3 складывать или AWS SES, чтобы отправлял приложение. Много сценариев. Мой пример для
Matillion+Redshift;
А вот если гуглить похожий сценарий по Power BI, получается не так все просто. На словах просто, на деле нет. У нас это работает через Power BI Embedded. Там цены в месяц за среднюю машину под 3к$. К ней можно через API подключиться и она может все сделать, но embedded дорогой, потому что он для приложений, где может быть много пользователей, например личный кабинет. То есть это как из пушки по воробьям. С помощью Azure Data Factory мы запускаем весь pipeline, берем credentials из Azure Key Vault, через API Call аунтифицируемся, обновляем модель и скачиваем PDF. Там у товарища компонентов 10-15 pipeline. И куча сложностей с аунтификацией, поэтому он через Embedded зашел.
Может есть более простое решение?