Cvičení 4: Refresh, endorsement a pipeline
Cíle kapitoly
- Nastavit plánovaný refresh modelu bez gateway a přečíst historii refreshů
- Označit model jako Promoted a ověřit endorsement v OneLake catalog
- Postavit deployment pipeline DEV → TEST a použít parameter rule pro parametr
Prostredi - Přečíst usage metrics reportu a vědět, proč mohou být v den kurzu prázdné
Úvod — co je proveditelné na F2
Na kapacitě F2 s Pro licencí a rolí Admin ve vlastních workspace je proveditelná většina tématu Správa životního cyklu — jen dvě části zůstávají mimo dosah tohoto cvičení.
| Téma osnovy | Hands-on v tomto cvičení | Poznámka |
|---|---|---|
| Automatizace refreshů | Ano | Cloudový zdroj bez gateway, limit 48× denně na kapacitě |
| Deployment pipelines | Ano | Vytvoření pipeline stačí Pro licence; přiřazení stage vyžaduje Admin workspace a kapacitu — obojí máš |
| Endorsement | Ano, jen Promoted | Certified vyžaduje autorizaci Fabric adminem |
| Usage metrics | Omezeně | Data mohou mít zpoždění až 24 hodin — v den kurzu bude report nejspíš prázdný |
| Gateway, Admin portal, Capacity Metrics | Ne | Vyžaduje lokální admin práva nebo roli Fabric/capacity admin — zůstává jako demo lektora |
Krok 1 — Plánovaný refresh
- U semantic modelu
GOC686-Starterv GOC686-StudentXX klikni … → Settings → Refresh. - Zapni Configure a refresh schedule → On.
- Nastav frekvenci Daily, přidej dva časy a časové pásmo (UTC+01:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague.
- Klikni Apply.
- Otevři Refresh → Refresh history a zkontroluj poslední běhy (manuální z cvičení 1 tam už je).
Řešení pro kontrolu: Kdyby model do tvého workspace nahrál lektor, byl by vlastníkem on — a i když jsi Admin workspace, musel bys nejdřív udělat Take over (převzetí vlastnictví), teprve pak bys mohl nastavit credentials a schedule. Protože jsi Starter nahrál sám v cvičení 1, jsi vlastník rovnou a refresh i schedule řídíš přímo. Gateway bys potřeboval jen u on-premises zdroje (SQL Server v síti klienta, sdílená složka) — veřejné CSV přes anonymní HTTP gateway nevyžaduje vůbec.
Krok 2 — Promoted endorsement
- U semantic modelu klikni … → Settings → Endorsement.
- Vyber Promoted → Apply.
- Otevři OneLake catalog, najdi svůj model a ověř, že badge Promoted je vidět.
Krok 3 — Deployment pipeline DEV → TEST
- Ve workspace GOC686-StudentXX klikni Create deployment pipeline (nebo v levém panelu Workspaces → Deployment pipelines → + New pipeline). Vytvořit pipeline stačí licence Pro/PPU — tu máš.
- Pojmenuj pipeline
GOC686-StudentXXa vytvoř dvě stage: Development a Test. - Přiřaď
GOC686-StudentXXke stage Development aGOC686-StudentXX-TESTke stage Test. Přiřazení workspace ke stage vyžaduje roli Admin v daném workspace — tu v obou workspace máš. - První Deploy do prázdné Test: zaškrtni report
GOC686-Starter→ Select related (přibalí i jeho semantic model automaticky). Zkontroluj, žeProdeje podle regionu - StudentXXaniThin report - StudentXXzaškrtnuté nejsou → Deploy. - V
GOC686-StudentXX-TESTu nasazeného modelu (jsi jeho vlastník od prvního deploye) nastav … → Settings → Data source credentials → Edit credentials → Anonymous, Public → Sign in, pak Refresh now. Teprve po dokončení refreshe otevři report — deploy je vždy jen metadata, bez dat. - Pořád ve stage Test otevři u modelu Deployment rules → Parameter rules → nastav
Prostredi = "TEST"→ Save. Pravidlo smí nastavit jen vlastník modelu a neplatí zpětně — projeví se až při dalším deployi. - Vrať se do Development a uprav model, ne report: u
GOC686-Starterklikni … → Open semantic model → Editing a přidej míru, např.Prumerna cena = DIVIDE([Prodeje], [Pocet kusu])(změny modelu na webu se ukládají automaticky). V pipeline klikni Compare a pak znovu Deploy — tentokrát jen semantic model. - Ve stage Test spusť u modelu znovu Refresh now — teprve po něm karta s parametrem
Prostrediukáže aktuální hodnotu.
Prodeje podle regionu - StudentXX jsi vytvořil přímo ve službě, takže je pravděpodobně v novějším formátu PBIR — a PBIR reporty deployment pipelines nepodporují („PBIR reports aren't supported", dokumentace k limitacím deployment pipelines). Proto ho nenasazuješ. Report GOC686-Starter pochází z .pbix od lektora ve starším formátu PBIR-Legacy, který podporovaný je — ale jen dokud ho ve službě neupravíš: editace a uložení PBIR-Legacy reportu ve službě ho automaticky převede na PBIR, a další Deploy by pak selhal. Proto v kroku 7 místo reportu upravuješ model. Pokud by přesto deploy modelu nebo reportu selhal, nasaď jen sémantický model.GOC686-StudentXX-TEST a najdi na něm kartu s parametrem Prostredi — má hodnotu TEST, zatímco ve stage Development zůstává DEV.Krok 4 — Usage metrics
- Otevři svůj report → … → View usage metrics report.
- Projdi stránky reportu a vyzkoušej přepínač New usage report (pokud je v nabídce).
GOC686-Demo.Závěrečné otázky
Na konci kurzu si připrav odpovědi na tyto otázky. Nemusí být perfektní — slouží k diskuzi.
Řešení pro kontrolu: Jeden sdílený sémantický model s dynamickou RLS (viz cvičení 2 a 3) — role s DAX filtrem podle USERPRINCIPALNAME() namapovaná na pobočku přes pomocnou tabulku. Reporty se pak stavějí jako thin reporty (Live Connection) nad tímto jedním modelem místo 50 samostatných importů. Výhoda: jedna definice bezpečnosti a byznys logiky na jednom místě; nevýhoda, se kterou je třeba počítat, je breaking change v modelu, který se projeví ve všech 50 reportech najednou.
Řešení pro kontrolu: Deployment pipeline se stages Development → Test → Production (viz krok 3 výše), kde se změny nejdřív nasadí a ověří v nižší stage přes Compare a teprve pak Deploy dál. Parameter rules a data source rules zajistí, že se v každé stage sahá na jiný zdroj dat (např. testovací vs. produkční). Ideálně doplněno o Git integraci, aby šly změny verzovat a revertovat, a o omezení práv Admin na produkční workspace jen pro úzký okruh lidí.
Řešení pro kontrolu: Ne, ne v takto popsané podobě. Pozastavená (paused) kapacita znamená, že obsah workspace na ní je nedostupný — refresh na pozastavené F2 neproběhne. Aby refresh v noci fungoval, musel by se workspace před pauzou kapacity přesunout na jinou kapacitu (Pro/shared) nebo by kapacita nesměla být v danou dobu pozastavená. Tvrzení, že import modely po zastavení F2 „běží dál na shared capacity" automaticky, je chybné — bez explicitního přesunu workspace zůstává obsah nedostupný.