tl;dr Pokud máš jakýkoliv typ Power BI Premium, můžeš v Data Pipeline použít aktivitu Refresh Semantic Model k aktualizaci svých sémantických modelů. Obcházíš tak výchozí 30minutový refresh interval - žádný kód, žádný Power Automate, žádný stres. Navíc dostaneš centralizované řízení refreshů, včetně podpory závislostí a serializace. Tahle funkce je v době psaní článku stále v preview, takže Microsoft ji může kdykoli ohnout nebo zrušit.
Disclaimer:
I když se v článku naučíš, jak refreshovat objekty ve Fabricu třeba každou minutu, důrazně doporučuji držet se principu co nejméně častého refreshování - ideálně tak často, jak to dává smysl vzhledem k logice tvých reportů. Pokud si nedáš pozor, můžeš si kapacitu vyplácat během pár refreshů. Počet povolených refreshů podléhá obecným limitům pro API-based refresh jak u Pro, tak i u Premium modelů.
Kde to najdu?
Tohle bude rychlovka, takže rovnou k věci. V jakémkoli workspace s aktivním Power BI Premium, Premium Per User nebo Power BI Embedded můžeš vytvořit Fabric položku s názvem Data Pipeline.
Zjednodušeně řečeno, Data Pipeline (verze Azure Data Factory pro Fabric) ti umožní orchestraci celé řady úloh - od kopírování dat, přes spouštění dataflow, notebooků nebo uložených procedur, až po (a teď nově, v rámci preview) refresh sémantických modelů.
Tuhle novou aktivitu najdeš na pásu Activities, kde hledej ikonu sémantického modelu. Případně můžeš kliknout na tři tečky a pod Orchestrate si na ni klikni. Pokud radši hledáš textově, jmenuje se Semantic model refresh (Preview).
Jak to nastavit?
Nastavení tohohle nevyžaduje ani půl mozkový buňky - prostě jen kliky-klik. Jakmile klikneš na aktivitu, objeví se ti rovnou v pipeline a můžeš ji začít konfigurovat.
V záložce General dej aktivitě smysluplné jméno, nastav timeout a retry policy. Jedna z výhod použití Data Pipeline je, že při selhání můžeš nastavit pauzičku a automatický pokus o opětovné spuštění - taková malá, ale šikovná pojistka přímo v základu.
V záložce Settings pak nastav Connection (tedy autentizaci), vyber Workspace a - co je nejdůležitější - zvol svůj Semantic Model. Máš dokonce možnost refreshnout jen konkrétní tabulky nebo partitiony, ale do těchhle detailů teď nepůjdu, protože celá tahle featura je zatím v preview a kdo ví, co se ještě změní, než půjde ven oficálně.
No, a je hotov. Jak postavit závislosti si ukáži později, teď se ale vrhneme na to, jak nastavit refresh policy.
Nastavení aktualizace (refresh)
Tady musíme přemýšlet o úroveň výš; neplánujeme refresh samotného sémantického modelu, ale běh celé Data Pipeline. Takže zůstáváme v rámci Data Pipeline a přepneme se na záložku Run. Tam zvolíme možnost Schedule.
V záložce Schedule pak můžeš nastavit refresh třeba každou minutu, pokud ti to dává smysl (nebo prostě chceš být trochu extra).
Další výhodou používání Data Pipeline je i to, že se můžeš vydat úplně opačným směrem - třeba nastavit refresh reportů jen jednou měsíčně. Možnosti v sekci Repeat jsou totiž mnohem štědřejší než chudé plánování, které nabízí nativní nastavení sémantického modelu.
Jakmile máš všechno nastavené, můžeš si svoji Data Pipeline rovnou spustit a otestovat, jestli fičí tak, jak má.
Ať už to dopadne jakkoliv, můžeš kouknout do Outputu nebo Run history. V případě selhání uvidíš i chybovou hlášku (a můžeš ji dokonce i ohodnotit :D).
V samotném sémantickém modelu si zkontroluj, že máš správně nastavené přihlašovací údaje a že žádné jiné naplánované refreshe nekolidují s Data Pipeline; jinak si koleduješ o nečekané chyby (nebo teď už čekané). Jestli si chceš ověřit, jestli refresh proběhl přes pipeline a ne přes běžné plánování, mrkni do historie refreshů; ty spuštěné přes Data Pipeline jsou označené jako “Via Enhanced Api”.
Serializace, paralelizace a závislosti
Pokud chceš postavit závislosti a zefektivnit refreshe, v rámci Data Pipeline to zvládneš levou zadní. Není to žádná novinka, pokud už máš s pipelinami nějaké zkušenosti.
Můžeš si nastavit, za jakých podmínek se má další aktivita spustit. Většinou zvolíš pokračování při úspěchu (nebo po dokončení, pokud ti nevadí, že to třeba failne - ale tady bych si tipnul, že ti to vadit bude). Pak už jen jednoduše napojíš další aktivity. Výsledná konfigurace může vypadat třeba takhle:
Shrnutí
Díky téhle (stále preview) funkcionalitě v Microsoft Fabric můžeš konečně refreshovat svoje Power BI sémantické modely přímo z Data Pipeline - žádné čekání 30 minut ani bastlení přes Power Automate. Všechno máš přehledně, centralizovaně a na pár kliků. Ať už refreshuješ každou minutu jako boss, nebo jen jednou za měsíc, protože jsi v chillu, pipeline to zvládne. Přidej retry, závislosti a kontrolu nad tokem aktivit a máš v ruce fakt flexibilní nástroj - aniž bys opustil Fabric.
