Sdílet prostřednictvím


Automatizace kanálu nasazení pro položky Power BI pomocí rozhraní API

Nástroj pro nasazování Microsoft Power BI umožňuje týmům business intelligence vytvořit efektivní a opakovaně použitelný proces vydávání obsahu 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ů nasazování REST API Power BI můžete integrovat Fabric 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 Fabric do známých nástrojů DevOps, jako Azure DevOps nebo GitHub Actions.

  • Naplánujte nasazení pipeline, aby proběhlo automaticky v konkrétní čas.

  • Současně nasaďte několik pipelin.

  • 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 nasazovacích kanálů se ujistěte, že platí následující:

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 potrubí – Načtěte informace o vašich potrubích a jejich obsahu. Získání informací o potrubí umožňuje dynamicky vytvářet 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í API, které nasadí veškerý obsah v pracovním prostoru do další fáze pipeline. 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 na Truehodnotu .

  • 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 nasazení všeho nebo Selektivní nasazení s PipelineUpdateAppSettings.

Integrujte své potrubí s Azure DevOps

Pokud chcete automatizovat procesy nasazení z kanálu vydání v Azure DevOps, použijte jednu z těchto metod:

  • PowerShell – Skript se přihlásí do Fabric pomocí přihlašovacího subjektu service principal nebo uživatele.

  • Nástroje pro automatizaci Power BI – Toto rozšíření funguje s aplikač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 otevřený zdrojový doplněk Azure DevOps, který poskytuje celou řadu operací nasazovacích kanálů, jež lze 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í pro automatizaci nástrojů Power BI do DevOps musíte vytvořit propojení služby. K dispozici jsou následující připojení:

  • Principál služby (doporučeno) – Toto připojení se ověřuje pomocí principálu služby a vyžaduje tajný klíč a ID aplikace Microsoft Entra. Pokud použijete tuto možnost, ověřte, že nastavení správce služby pro hlavní službu jsou povolena.

  • 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í pomocí objektu služebního účtu, 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 automatizace Power BI Azure DevOps můžete vytvářet úkoly kanálu. Toto rozšíření zahrnuje následující úlohy nasazovacích kanálů:

  • Vytvoření nového kanálu

  • Přiřaďte pracovní prostor etapě kanálu

  • Přidání uživatele do kanálu nasazení

  • Přidání uživatele do pracovního prostoru

  • Nasazení obsahu do nasazovacího kanálu

  • Odebrání pracovního prostoru z kanálu nasazení

  • Odstranit potrubí

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 můžete v jednotlivých fázích pipeline Azure přidat libovolnou z těchto částí.

  1. Přihlášení – Před nasazením obsahu se musíte přihlásit k Fabric pomocí služebního účtu nebo uživatele. Přihlaste se pomocí příkazu Connect-PowerBIServiceAccount.

  2. 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
    
  3. 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
    
  4. (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á služební identita 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í pouze 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í.