Az üzembehelyezési folyamat automatizálása API-k és Az Azure DevOps használatával

A Microsoft Fabric üzembehelyezési folyamatainak eszközével az üzletiintelligencia-csapatok hatékony és újrafelhasználható kiadási folyamatot hozhatnak létre Fabric-tartalmaikhoz.

A tartalom folyamatos integrációjának és folyamatos kézbesítésének (CI/CD) elérése érdekében számos szervezet automatizálási eszközöket használ, köztük az Azure DevOpsot is. Az Azure DevOpst használó szervezetek használhatják a Power BI automation tools bővítményt, amely számos üzembehelyezési folyamat API-műveleteit támogatja.

A Power BI REST API-k üzembehelyezési folyamataival integrálhatja a Fabricet a szervezet automatizálási folyamatába. Íme néhány példa az API-k használatával elvégezhető teendőkre:

  • Folyamatok kezelése az elejétől a végéig, beleértve a folyamat létrehozását, a munkaterület bármely fázishoz való hozzárendelését, valamint a folyamat üzembe helyezését és törlését.

  • Felhasználók hozzárendelése és hozzárendelése egy folyamathoz és onnan.

  • A Fabric integrálása ismerős DevOps-eszközökbe, például az Azure DevOpsba vagy a GitHub Actionsbe.

  • Ütemezze, hogy a folyamattelepítések automatikusan, egy adott időpontban történjenek.

  • Egyszerre több folyamat üzembe helyezése.

  • Kaszkádolás a folyamattelepítéstől függően. Ha olyan tartalommal rendelkezik, amely több folyamathoz kapcsolódik, győződjön meg arról, hogy egyes folyamatok üzembe helyezése mások előtt történik.

Üzembehelyezési folyamatok API-függvényei

Feljegyzés

Az üzembehelyezési folyamatok API-k jelenleg csak Power BI-elemekhez működnek.

A Power BI REST API-k üzembehelyezési folyamatai a következő funkciókat teszik lehetővé:

  • Folyamatinformációk lekérése – A folyamatokkal és azok tartalmával kapcsolatos információk lekérése. A folyamatinformációk lekérésével dinamikusan hozhatja létre az üzembehelyezési API-hívásokat. Az üzembe helyezés állapotát vagy az üzembe helyezési előzményeket is ellenőrizheti.

  • Üzembe helyezés – A REST-hívások lehetővé teszik a fejlesztők számára, hogy bármilyen típusú üzembe helyezést használjanak a Fabric szolgáltatásban.

  • Folyamatok létrehozása és törlése – A műveletek végrehajtásához használja a Folyamat létrehozása és a Folyamat törlése parancsot.

  • Munkaterületek kezelése – A munkaterület hozzárendelése és a munkaterület hozzárendelésének megszüntetése segítségével munkaterületeket rendelhet hozzá és rendelhet hozzá adott folyamatszakaszokhoz.

  • A folyamatfelhasználók - kezelése A folyamatfelhasználó törlése lehetővé teszi, hogy eltávolítson egy felhasználót egy folyamatból. A folyamat frissítési felhasználója lehetővé teszi, hogy felhasználót vegyen fel a folyamatba.

Mely központi telepítéseket támogatják az API-k?

Az API-k a következő üzembehelyezési típusokat támogatják:

  • Az összes üzembe helyezése – Egyetlen API-hívás, amely a munkaterület összes tartalmát a folyamat következő szakaszára helyezi üzembe. Ehhez a művelethez használja az Összes API üzembe helyezését.

  • Szelektív üzembe helyezés – Csak bizonyos elemeket, például jelentéseket vagy irányítópultokat helyez üzembe a folyamatban. Ehhez a művelethez használja a Szelektív üzembe helyezés API-t.

  • Visszamenőleges üzembe helyezés – Új elemek üzembe helyezése az előző fázisban. A visszamenőleges üzembe helyezés csak akkor működik, ha az üzembe helyezett elemek még nem léteznek a célszakaszban. Ehhez a művelethez használja az Összes üzembe helyezése vagy a Szelektív üzembe helyezés API-k beállításátTrueisBackwardDeployment.

  • Alkalmazás frissítése – Az üzembehelyezési API-hívás részeként frissítheti az adott fázishoz kapcsolódó alkalmazás tartalmát. A frissített elemek automatikusan elérhetővé válnak a végfelhasználók számára az üzembe helyezés befejezése után. Ehhez a művelethez használja az Összes üzembe helyezése vagy a Szelektív üzembe helyezés API-k használatát a PipelineUpdateApp Gépház használatával.

Mielőtt elkezdené

Az üzembehelyezési folyamatok API-k használata előtt győződjön meg arról, hogy rendelkezik a következőkkel:

  • A szolgáltatásnévnek vagy az API-kat hívó felhasználónak folyamat- és munkaterület-engedélyekre, valamint Egy Microsoft Entra-alkalmazáshoz való hozzáférésre van szüksége.

  • Ha PowerShell-szkripteket szeretne használni, telepítse a Power BI PowerShell-parancsmagok Telepítési modul MicrosoftPowerBIMgmt parancsmagjait.

A folyamat integrálása az Azure DevOpsszal

Az üzembehelyezési folyamatok azure DevOps-beli kiadási folyamaton belüli automatizálásához használja az alábbi módszerek egyikét:

  • PowerShell – A szkript szolgáltatásnévvel vagy felhasználóval jelentkezik be a Fabricbe.

  • Power BI automatizálási eszközök – Ez a bővítmény szolgáltatásnévvel vagy felhasználóval működik.

Más Power BI REST API-hívásokkal is végrehajthat kapcsolódó műveleteket, például .pbix importálását a folyamatba, adatforrásokat és paramétereket frissíthet.

A Power BI automation tools bővítmény használata

A Power BI automation tools bővítmény egy nyílt forráskód Azure DevOps-bővítmény, amely az Azure DevOpsban elvégezhető üzembehelyezési folyamatok számos műveletét biztosítja. A bővítmény szükségtelenné teszi az API-k vagy szkriptek használatát a folyamatok kezeléséhez. Minden művelet külön-külön használható egy feladat végrehajtásához, például egy folyamat létrehozásához. Az Azure DevOps-folyamatokban együtt használható műveletek egy összetettebb forgatókönyv létrehozásához, például egy folyamat létrehozásához, egy munkaterület a folyamathoz való hozzárendeléséhez, a felhasználók hozzáadásához és az üzembe helyezéshez.

Miután hozzáadta a Power BI automation tools bővítményt a DevOpshoz, létre kell hoznia egy szolgáltatáskapcsolatot. A következő kapcsolatok érhetők el:

  • Szolgáltatásnév (ajánlott) – Ez a kapcsolat egy szolgáltatásnév használatával hitelesít, és megköveteli a Microsoft Entra-alkalmazás titkos kódját és alkalmazásazonosítóját. Ha ezt a lehetőséget használja, ellenőrizze, hogy a szolgáltatásnév szolgáltatásadminisztrátori beállításai engedélyezve vannak-e.

  • Felhasználónév és jelszó – Általános szolgáltatáskapcsolatként konfigurálva felhasználónévvel és jelszóval. Ez a kapcsolati módszer nem támogatja a többtényezős hitelesítést. Javasoljuk, hogy a szolgáltatásnév kapcsolati módszerét használja, mert ehhez nincs szükség felhasználói hitelesítő adatok tárolására az Azure DevOpsban.

Feljegyzés

A Power BI automation tools bővítménye egy Azure DevOps-szolgáltatáskapcsolatot használ a hitelesítő adatok tárolásához. További információ: Hogyan tároljuk a hitelesítő adatait az Azure DevOps Servicesben.

Miután engedélyezte a szolgáltatáskapcsolatot az Azure DevOps Power BI automatizálási eszközeihez, folyamatfeladatokat hozhat létre. A bővítmény a következő üzembehelyezési folyamatokat tartalmazza:

  • Új folyamat létrehozása

  • Munkaterület hozzárendelése folyamatszakaszhoz

  • Felhasználó hozzáadása üzembehelyezési folyamathoz

  • Felhasználó hozzáadása munkaterülethez

  • Tartalom üzembe helyezése üzembehelyezési folyamatba

  • Munkaterület eltávolítása üzembehelyezési folyamatból

  • Folyamat törlése

A PowerShell-minták elérése

Az alábbi PowerShell-szkriptekkel megtudhatja, hogyan hajthat végre több automatizálási folyamatot. A PowerShell-minta szövegének megtekintéséhez vagy másolásához használja az ebben a szakaszban található hivatkozásokat.

A teljes PowerBI-Developer-Samples GitHub-mappát is letöltheti.

PowerShell-példa

Ez a szakasz egy példa PowerShell-szkriptet mutat be, amely szemantikai modellt, jelentést és irányítópultot helyez üzembe a fejlesztési fázistól a tesztelési fázisig. A szkript ezután ellenőrzi, hogy az üzembe helyezés sikeres volt-e.

Az üzembe helyezést végrehajtó PowerShell-szkript futtatásához a következő összetevőkre van szükség. Ezen részek bármelyikét hozzáadhatja az Azure-folyamat szakaszaiban lévő feladatokhoz.

  1. Bejelentkezés – A tartalom üzembe helyezése előtt be kell jelentkeznie a Hálóba egy szolgáltatásnévvel vagy egy felhasználóval. Jelentkezzen be a Csatlakozás-PowerBIServiceAccount paranccsal.

  2. A kérelem törzsének összeállítása – A szkript ezen részében adja meg, hogy mely elemeket (például jelentéseket és irányítópultokat) helyezi üzembe.

    $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. Üzembe helyezés – Itt hajtja végre az üzembe helyezést.

    $url = "pipelines/{0}/Deploy" -f "Insert you pipeline ID here"
    $deployResult = Invoke-PowerBIRestMethod -Url $url  -Method Post -Body $body | ConvertFrom-Json
    
  4. (Nem kötelező) Üzembe helyezési értesítés – Mivel az üzembehelyezési API aszinkron, a szkript beprogramozásával értesítést kaphat az üzembe helyezés befejezéséről.

    $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
    }
    

Szempontok és korlátozások

  • Az API-k használatával történő üzembe helyezésre ugyanazok a korlátozások vonatkoznak , mint az üzembe helyezési folyamatok felhasználói felületére.

  • A szolgáltatásnév nem tudja konfigurálni az OAuth hitelesítő adatait. Az új elemek üzembe helyezése után a bejelentkezett szolgáltatásnév lesz az üzembe helyezett lapszámozott jelentések és szemantikai modellek tulajdonosa. Ilyen esetekben a frissítés nem hajtható végre.

  • Az adatfolyamok szolgáltatásnévvel történő üzembe helyezése nem támogatott.

  • Az egyetlen üzembe helyezés során üzembe helyezhető elemek maximális száma 300.

  • Az üzembehelyezési folyamatok API-k jelenleg csak a Power BI-elemeket támogatják.

  • A 2–10 fázisú testreszabott folyamat létrehozása jelenleg csak a felhasználói felületen keresztül támogatott.