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át
True
isBackwardDeployment
.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.
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.
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
Ü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
(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.
Kapcsolódó tartalom
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: