Automatizace kanálu nasazení pro položky Power BI pomocí rozhraní API
Nástroj kanálů nasazení Microsoft Power BI umožňuje týmům business intelligence vytvořit efektivní a opakovaně použitelný proces vydávání pro jejich obsah Power BI.
Poznámka:
Tady uvedená rozhraní API kanálů nasazení platí jenom pro položky Power BI. Informace o rozhraních FABRIC API najdete v dokumentaci k rozhraní FABRIC API.
K zajištění kontinuální integrace a průběžného doručování obsahu (CI/CD) používá mnoho organizací automatizační nástroje, včetně Azure DevOps. Organizace, které používají Azure DevOps, můžou použít rozšíření nástrojů pro automatizaci Power BI, které podporuje řadu operací rozhraní API kanálů nasazení.
Pomocí kanálů nasazení můžete rozhraní REST API Power BI integrovat prostředky infrastruktury do procesu automatizace vaší organizace. Tady je několik příkladů toho, co je možné provést pomocí rozhraní API:
Spravujte kanály od začátku do konce, včetně vytvoření kanálu, přiřazení pracovního prostoru k jakékoli fázi a nasazení a odstranění kanálu.
Přiřaďte a zrušte přiřazení uživatelů ke kanálu a z kanálu.
Integrujte prostředky infrastruktury do známých nástrojů DevOps, jako jsou Azure DevOps nebo GitHub Actions.
Naplánujte automatické nasazení kanálů v určitém čase.
Současně nasaďte několik kanálů.
Kaskádová v závislosti na nasazení kanálu. Pokud máte obsah propojený mezi kanály, můžete se ujistit, že jsou některé kanály nasazené před ostatními.
Požadavky
Před použitím rozhraní API kanálů nasazení se ujistěte, že máte následující:
Instanční objekt nebo uživatel, který volá rozhraní API, potřebuje oprávnění kanálu a pracovního prostoru a přístup k aplikaci Microsoft Entra.
Pokud budete používat skripty PowerShellu, nainstalujte rutiny PowerShellu Pro Power BI Install-Module MicrosoftPowerBIMgmt.
Funkce rozhraní API kanálů nasazení
Kanály nasazení rozhraní REST API Power BI umožňují provádět následující funkce:
Získejte informace o kanálu – Načtěte informace o kanálech a jejich obsahu. Získání informací o kanálu umožňuje dynamicky sestavovat volání rozhraní API nasazení. Můžete také zkontrolovat stav nasazení nebo historii nasazení.
Nasazení – Volání REST umožňují vývojářům používat jakýkoli typ nasazení, který je k dispozici ve službě Fabric.
Vytváření a odstraňování kanálů – K provádění těchto operací použijte kanál Vytvořit a odstranit kanál .
Správa pracovních prostorů – S přiřazením pracovního prostoru a zrušením přiřazení pracovního prostoru můžete přiřadit a zrušit přiřazení pracovních prostorů ke konkrétním fázím kanálu.
Správa uživatelů kanálu Odstranění uživatele - kanálu umožňuje odebrat uživatele z kanálu. Uživatel kanálu aktualizace umožňuje přidat uživatele do kanálu.
Které typy nasazení rozhraní API podporují?
Rozhraní API podporují následující typy nasazení:
Nasadit vše – jedno volání rozhraní API, které nasadí veškerý obsah v pracovním prostoru do další fáze kanálu. Pro tuto operaci použijte nasadit všechna rozhraní API.
Selektivní nasazení – Nasadí v kanálu jenom konkrétní položky, jako jsou sestavy nebo řídicí panely. Pro tuto operaci použijte rozhraní API pro selektivní nasazení .
Zpětné nasazení – Nasadí nové položky do předchozí fáze. Zpětné nasazení funguje jenom v případě, že položky nasazené v cílové fázi ještě neexistují. Pro tuto operaci použijte buď rozhraní API pro nasazení všech , nebo selektivní nasazení s
isBackwardDeployment
nastavenou naTrue
hodnotu .Aktualizace aplikace – V rámci volání rozhraní API nasazení můžete aktualizovat obsah aplikace související s danou fází. Aktualizované položky jsou po dokončení nasazení automaticky dostupné koncovým uživatelům. Pro tuto operaci použijte buď rozhraní API Pro nasazení všech , nebo Selektivní nasazení s PipelineUpdateAppSettings.
Integrace kanálu s Azure DevOps
Pokud chcete automatizovat procesy nasazení z kanálu verze v Azure DevOps, použijte jednu z těchto metod:
PowerShell – Skript se přihlásí k prostředkům infrastruktury pomocí instančního objektu nebo uživatele.
Nástroje pro automatizaci Power BI – Toto rozšíření funguje s instančním objektem nebo uživatelem.
K dokončení souvisejících operací, jako je import souboru .pbix do kanálu, aktualizace zdrojů dat a parametrů, můžete také použít další volání rozhraní REST API Power BI.
Použití rozšíření Nástrojů pro automatizaci Power BI
Rozšíření nástrojů pro automatizaci Power BI je opensourcové rozšíření Azure DevOps, které poskytuje celou řadu operací kanálů nasazení, které je možné provádět v Azure DevOps. Rozšíření eliminuje potřebu rozhraní API nebo skriptů ke správě kanálů. Každou operaci lze použít jednotlivě k provedení úlohy, například k vytvoření kanálu. Operace je možné použít společně v kanálu Azure DevOps k vytvoření složitějšího scénáře, jako je vytvoření kanálu, přiřazení pracovního prostoru ke kanálu, přidání uživatelů a nasazení.
Po přidání rozšíření nástrojů pro automatizaci Power BI do DevOps musíte vytvořit připojení služby. K dispozici jsou následující připojení:
Instanční objekt (doporučeno) – Toto připojení se ověřuje pomocí instančního objektu a vyžaduje tajné a ID aplikace Microsoft Entra. Pokud použijete tuto možnost, ověřte, že jsou povolená nastavení správce služby pro instanční objekt.
Uživatelské jméno a heslo – Nakonfigurováno jako obecné připojení služby s uživatelským jménem a heslem. Tato metoda připojení nepodporuje vícefaktorové ověřování. Doporučujeme použít metodu připojení instančního objektu, protože nevyžaduje ukládání přihlašovacích údajů uživatele do Azure DevOps.
Poznámka:
Rozšíření nástrojů pro automatizaci Power BI používá k ukládání přihlašovacích údajů připojení služby Azure DevOps. Další informace najdete v tématu Jak ukládáme vaše přihlašovací údaje pro Azure DevOps Services.
Po povolení připojení služby pro nástroje automatizace Power BI Azure DevOps můžete vytvářet úlohy kanálu. Toto rozšíření zahrnuje následující úlohy kanálů nasazení:
Vytvoření nového kanálu
Přiřazení pracovního prostoru ke fázi kanálu
Přidání uživatele do kanálu nasazení
Přidání uživatele do pracovního prostoru
Nasazení obsahu do kanálu nasazení
Odebrání pracovního prostoru z kanálu nasazení
Odstranění kanálu
Přístup k ukázkám PowerShellu
Následující skripty PowerShellu vám pomůžou pochopit, jak provádět několik procesů automatizace. Pokud chcete zobrazit nebo zkopírovat text v ukázce PowerShellu, použijte odkazy v této části.
Můžete si také stáhnout celou PowerBI-Developer-Samples
složku GitHubu.
Příklad PowerShellu
Tato část popisuje ukázkový skript PowerShellu, který nasadí sémantický model, sestavu a řídicí panel z fáze vývoje do testovací fáze. Skript pak zkontroluje, jestli nasazení proběhlo úspěšně.
Pokud chcete spustit skript PowerShellu, který provádí nasazení, potřebujete následující komponenty. Do úloh ve fázích kanálu Azure můžete přidat libovolnou z těchto částí.
Přihlášení – Před nasazením obsahu se musíte přihlásit k Fabric pomocí instančního objektu nebo uživatele. Přihlaste se pomocí příkazu Connect-PowerBIServiceAccount.
Sestavte text požadavku – v této části skriptu určíte, které položky (například sestavy a řídicí panely) nasazujete.
$body = @{ sourceStageOrder = 0 # The order of the source stage. Development (0), Test (1). datasets = @( @{sourceId = "Insert your dataset ID here" } ) reports = @( @{sourceId = "Insert your report ID here" } ) dashboards = @( @{sourceId = "Insert your dashboard ID here" } ) options = @{ # Allows creating new item if needed on the Test stage workspace allowCreateArtifact = $TRUE # Allows overwriting existing item if needed on the Test stage workspace allowOverwriteArtifact = $TRUE } } | ConvertTo-Json
Nasazení – tady provedete nasazení.
$url = "pipelines/{0}/Deploy" -f "Insert you pipeline ID here" $deployResult = Invoke-PowerBIRestMethod -Url $url -Method Post -Body $body | ConvertFrom-Json
(Volitelné) Oznámení o dokončení nasazení – Vzhledem k tomu, že rozhraní API nasazení je asynchronní, můžete skript naprogramovat tak, aby vás upozorňovat na dokončení nasazení.
$url = "pipelines/{0}/Operations/{1}" -f "Insert you pipeline ID here",$deployResult.id $operation = Invoke-PowerBIRestMethod -Url $url -Method Get | ConvertFrom-Json while($operation.Status -eq "NotStarted" -or $operation.Status -eq "Executing") { # Sleep for 5 seconds Start-Sleep -s 5 $operation = Invoke-PowerBIRestMethod -Url $url -Method Get | ConvertFrom-Json }
Úvahy a omezení
Nasazení pomocí rozhraní API podléhá stejným omezením jako uživatelské rozhraní kanálů nasazení.
Instanční objekt nemůže konfigurovat přihlašovací údaje OAuth. Po nasazení nových položek se přihlášený instanční objekt stane vlastníkem všech nasazených stránkovaných sestav a sémantických modelů. V takových případech není možné dokončit aktualizaci.
Nasazení toků dat pomocí instančního objektu se nepodporuje.
Maximální počet položek, které lze nasadit v jednom nasazení, je 300.
Rozhraní API kanálů nasazení aktuálně podporují jenom položky Power BI.
Vytvoření přizpůsobeného kanálu s 2 až 10 fázemi se v současné době podporuje pouze prostřednictvím uživatelského rozhraní.