Automatizace kanálu nasazení pomocí rozhraní API a Azure DevOps
Nástroj Kanály nasazení Microsoft Fabric umožňuje týmům business intelligence vytvářet efektivní a opakovaně použitelný proces vydávání pro obsah prostředků infrastruktury.
Důležité
Microsoft Fabric je ve verzi Preview.
K zajištění kontinuální integrace a průběžného doručování obsahu (CI/CD) mnoho organizací používá nástroje pro automatizaci, včetně Azure DevOps. Organizace, které používají Azure DevOps, můžou používat rozšíření Nástrojů pro automatizaci Power BI , které podporuje mnoho operací rozhraní API kanálů nasazení.
K integraci prostředků infrastruktury do procesu automatizace vaší organizace můžete použít rozhraní REST API pro nasazení . Tady je několik příkladů toho, co je možné pomocí rozhraní API provést:
Správa kanálů 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ů k kanálu a z kanálu.
Integrujte prostředky infrastruktury do známých nástrojů DevOps, jako je Azure DevOps nebo GitHub Actions.
Naplánujte nasazení kanálu tak, aby probíhala automaticky v určitou dobu.
Nasaďte více kanálů najednou.
Kaskádové v závislosti na nasazení kanálu. Pokud máte obsah, který je připojený mezi kanály, můžete se ujistit, že jsou některé kanály nasazené před ostatními.
Funkce rozhraní API kanálů nasazení
Poznámka
Rozhraní API kanálů nasazení v současné době fungují jenom pro položky Power BI.
Rozhraní REST API pro prostředky infrastruktury pro nasazení umožňují provádět následující funkce:
Získání informací o kanálu – Načtěte informace o kanálech a jejich obsahu. Získání informací o kanálu vám umožní dynamicky vytvářet volání rozhraní API pro 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 možnost Vytvořit kanál a Odstranit kanál .
Správa pracovních prostorů – Pomocí funkce Přiřadit pracovní prostor a Zrušit 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áluOdstranit uživatele kanálu umožňuje odebrat uživatele z kanálu. Aktualizace uživatele kanálu umožňuje přidat uživatele do kanálu.
Která nasazení podporují rozhraní API?
Tady je seznam různých typů nasazení, které rozhraní API podporují:
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 rozhraní API Deploy all .
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 nasazené položky ještě v cílové fázi neexistují. Pro tuto operaci použijte rozhraní API Pro nasazení vše nebo Rozhraní API pro selektivní nasazení s nastavenou
isBackwardDeployment
naTrue
hodnotu .Aktualizovat aplikaci – V rámci volání rozhraní API pro nasazení můžete aktualizovat obsah aplikace, který s danou fází souvisí. Aktualizované položky jsou po dokončení nasazení automaticky dostupné koncovým uživatelům. Pro tuto operaci použijte rozhraní API Nasazení vše nebo Výběrové nasazení s PipelineUpdateAppSettings.
Než začnete
Než použijete rozhraní API kanálů nasazení, ujistěte se, že máte následující:
Instanční objekt nebo uživatel, který bude volat rozhraní API, potřebuje oprávnění ke kanálům a pracovním prostorům a přístup k aplikaci Azure AD.
Pokud budete používat skripty PowerShellu, nainstalujte rutiny PowerShellu Pro PowerShell Install-Module MicrosoftPowerBIMgmt.
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 pro prostředky infrastruktury.
Použití rozšíření nástrojů pro automatizaci Power BI
Rozšíření Power BI Automation Tools je rozšíření open source Azure DevOps, které poskytuje ř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 je možné použít jednotlivě k provedení úkolu, například k vytvoření kanálu. Operace je možné v kanálu Azure DevOps použít společně 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 je potřeba 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ý klíč Azure AD aplikace a ID aplikace. Při použití této možnosti ověřte, že je pro instanční objekt povolené nastavení správce služby .
Uživatelské jméno a heslo – nakonfigurované jako obecné připojení ke službě 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 v 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 pro automatizaci Azure DevOps Power BI můžete vytvářet úlohy kanálu. Rozšíření zahrnuje následující úlohy kanálů nasazení:
Vytvoření nového kanálu
Přiřazení pracovního prostoru k 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
K pochopení, jak provádět několik procesů automatizace, můžete použít následující skripty PowerShellu. 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ý nasazuje datovou sadu, sestavu a řídicí panel od fáze vývoje do fáze testu. Skript pak zkontroluje, jestli bylo nasazení úspěšné.
Ke spuštění skriptu PowerShellu, který provádí nasazení, budete potřebovat následující komponenty. Libovolnou z těchto částí můžete přidat do úloh ve fázích kanálu Azure.
Přihlášení – Před nasazením obsahu se musíte přihlásit k prostředkům infrastruktury pomocí instančního objektu nebo uživatele. Přihlaste se pomocí příkazu Connect-PowerBIServiceAccount .
Sestavení textu 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
Deploy – 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 pro nasazení je asynchronní, můžete skript naprogramovat tak, aby vás upozornil 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 }
Důležité informace a omezení
Nasazení pomocí rozhraní API podléhá stejným omezením jako uživatelské rozhraní kanálů nasazení.
Instanční objekt nemůže nakonfigurovat 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 datových sad. V takových případech nelze aktualizaci dokončit.
Nasazení toků dat pomocí instančního objektu se nepodporuje.
Maximální počet položek, které je možné nasadit v jednom nasazení, je 300.
Rozhraní API kanálů nasazení aktuálně podporují jenom položky Power BI.