Automatiser din udrulningspipeline ved hjælp af API'er og Azure DevOps

Microsoft Fabric-udrulningspipelines gør det muligt for business intelligence-teams at opbygge en effektiv og genbrugelig udgivelsesproces for deres Fabric-indhold.

For at opnå kontinuerlig integration og kontinuerlig levering (CI/CD) af indhold bruger mange organisationer automatiseringsværktøjer, herunder Azure DevOps. Organisationer, der bruger Azure DevOps, kan bruge udvidelsen power BI-automatiseringsværktøjer , som understøtter mange af API-handlingerne for udrulningspipelines.

Du kan bruge Udrulningspipelines Power BI REST API'er til at integrere Fabric i din organisations automatiseringsproces. Her er nogle eksempler på, hvad der kan gøres ved hjælp af API'erne:

  • Administrer pipelines fra start til slut, herunder oprettelse af en pipeline, tildeling af et arbejdsområde til en hvilken som helst fase og udrulning og sletning af pipelinen.

  • Tildel og fjern tildeling af brugere til og fra en pipeline.

  • Integrer Fabric i velkendte DevOps-værktøjer, f.eks . Azure DevOps eller GitHub Actions.

  • Planlæg udrulninger af pipelines automatisk på et bestemt tidspunkt.

  • Udrul flere pipelines på samme tid.

  • Overlappet afhængigt af pipelineudrulninger. Hvis du har indhold, der er forbundet på tværs af pipelines, kan du sikre dig, at nogle pipelines udrulles før andre.

API-funktioner til udrulningspipelines

Bemærk

API'erne til udrulningspipelines fungerer i øjeblikket kun for Power BI-elementer.

Power BI REST API'er til udrulningspipelines giver dig mulighed for at udføre følgende funktioner:

  • Hent pipelineoplysninger – Hent oplysninger om dine pipelines og deres indhold. Når du henter pipelineoplysningerne, kan du dynamisk oprette API-kald til udrulningen. Du kan også kontrollere status for en installation eller installationshistorikken.

  • Deploy – REST-kald gør det muligt for udviklere at bruge enhver type udrulning, der er tilgængelig i Fabric-tjenesten.

  • Opret og slet pipelines – Brug Opret pipeline og Slet pipeline til at udføre disse handlinger.

  • Administrer arbejdsområder – Med Tildel arbejdsområde og Fjern tildeling af arbejdsområde kan du tildele og fjerne tildelingen af arbejdsområder til bestemte pipelinefaser.

  • Administrer pipelinebrugere - Slet pipelinebruger giver dig mulighed for at fjerne en bruger fra en pipeline. Opdateringspipelinebrugeren giver dig mulighed for at føje en bruger til din pipeline.

Hvilke installationer understøttes af API'erne?

API'erne understøtter følgende installationstyper:

  • Udrul alle – Et enkelt API-kald, der udruller alt indholdet i arbejdsområdet til næste fase i pipelinen. Til denne handling skal du bruge Api'en Installér alle .

  • Selektiv installation – installerer kun bestemte elementer, f.eks. rapporter eller dashboards, i pipelinen. Til denne handling skal du bruge API'en til selektiv installation .

  • Bagududrulning – udruller nye elementer til den forrige fase. Udrulning bagud fungerer kun, hvis de elementer, der er installeret, ikke allerede findes i destinationsfasen. Til denne handling skal du enten bruge API'erne Installér alle eller Selektiv udrulning med isBackwardDeployment angivet til True.

  • Update App – Som en del af api-kaldet til udrulning kan du opdatere indholdet af den app, der er relateret til den pågældende fase. Opdaterede elementer er automatisk tilgængelige for dine slutbrugere, når en installation er fuldført. Til denne handling skal du enten bruge API'erne Installér alle eller Selektiv installation med PipelineUpdateApp Indstillinger.

Inden du starter

Før du bruger API'erne til udrulningspipelines, skal du sørge for, at du har følgende:

Integrer din pipeline med Azure DevOps

Hvis du vil automatisere udrulningsprocesserne fra din udgivelsespipeline i Azure DevOps, skal du bruge en af disse metoder:

  • PowerShell – Scriptet logger på Fabric ved hjælp af en tjenesteprincipal eller en bruger.

  • Power BI-automatiseringsværktøjer – Denne udvidelse fungerer sammen med en tjenesteprincipal eller en bruger.

Du kan også bruge andre Power BI REST API-kald til at fuldføre relaterede handlinger, f.eks. import af en .pbix i pipelinen, opdatering af datakilder og parametre.

Brug udvidelsen Power BI-automatiseringsværktøjer

Udvidelsen af Power BI-automatiseringsværktøjer er en åben kildekode Azure DevOps-udvidelse, der leverer en række udrulningspipelines, der kan udføres i Azure DevOps. Udvidelsen fjerner behovet for API'er eller scripts til administration af pipelines. Hver handling kan bruges individuelt til at udføre en opgave, f.eks. oprette en pipeline. Handlinger kan bruges sammen i en Azure DevOps-pipeline for at oprette et mere komplekst scenarie, f.eks. oprette en pipeline, tildele et arbejdsområde til pipelinen, tilføje brugere og udrulle.

Når du har føjet udvidelsen power BI-automatiseringsværktøjer til DevOps, skal du oprette en tjenesteforbindelse. Følgende forbindelser er tilgængelige:

  • Tjenesteprincipal (anbefales) – Denne forbindelse godkendes ved hjælp af en tjenesteprincipal og kræver Microsoft Entra-appens hemmelighed og program-id. Når du bruger denne indstilling, skal du kontrollere, at tjenesteadministratorindstillingerne for tjenesteprincipalen er aktiveret.

  • Brugernavn og adgangskode – konfigureret som en generisk tjenesteforbindelse med et brugernavn og en adgangskode. Denne forbindelsesmetode understøtter ikke multifaktorgodkendelse. Vi anbefaler, at du bruger forbindelsesmetoden for tjenesteprincipalen, fordi den ikke kræver lagring af brugerlegitimationsoplysninger på Azure DevOps.

Bemærk

Udvidelsen power BI-automatiseringsværktøjer bruger en Azure DevOps-tjenesteforbindelse til at gemme legitimationsoplysninger. Du kan få flere oplysninger under Sådan gemmer vi dine legitimationsoplysninger til Azure DevOps Services.

Når du har aktiveret en tjenesteforbindelse for dine Azure DevOps Power BI-automatiseringsværktøjer, kan du oprette pipelineopgaver. Udvidelsen omfatter følgende udrulningspipelines:

  • Opret en ny pipeline

  • Tildel et arbejdsområde til en pipelinefase

  • Føj en bruger til en udrulningspipeline

  • Føj en bruger til et arbejdsområde

  • Udrul indhold til en udrulningspipeline

  • Fjern et arbejdsområde fra en udrulningspipeline

  • Slet en pipeline

Få adgang til PowerShell-eksemplerne

Du kan bruge følgende PowerShell-scripts til at forstå, hvordan du udfører flere automatiseringsprocesser. Hvis du vil have vist eller kopiere teksten i et PowerShell-eksempel, skal du bruge linkene i dette afsnit.

Du kan også downloade hele PowerBI-Developer-Samples GitHub-mappen.

PowerShell-eksempel

I dette afsnit beskrives et eksempel på Et PowerShell-script, der udruller en semantisk model, en rapport og et dashboard fra udviklingsfasen til testfasen. Scriptet kontrollerer derefter, om installationen lykkedes.

Hvis du vil køre et PowerShell-script, der udfører en installation, skal du bruge følgende komponenter. Du kan føje en hvilken som helst af disse dele til opgaver i dine Azure-pipelinefaser.

  1. Log på – Før du kan installere dit indhold, skal du logge på Fabric ved hjælp af en tjenesteprincipal eller en bruger. Brug kommandoen Forbind-PowerBIServiceAccount til at logge på.

  2. Opret brødteksten i din anmodning – I denne del af scriptet angiver du, hvilke elementer (f.eks. rapporter og dashboards), du installerer.

    $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. Deploy – Her udfører du installationen.

    $url = "pipelines/{0}/Deploy" -f "Insert you pipeline ID here"
    $deployResult = Invoke-PowerBIRestMethod -Url $url  -Method Post -Body $body | ConvertFrom-Json
    
  4. (Valgfrit) Meddelelse om fuldførelse af installation – Da udrulnings-API'en er asynkron, kan du programmere scriptet til at give dig besked, når installationen er fuldført.

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

Overvejelser og begrænsninger

  • Udrulning ved hjælp af API'er er underlagt de samme begrænsninger som brugergrænsefladen for udrulningspipelines.

  • En tjenesteprincipal kan ikke konfigurere OAuth-legitimationsoplysninger . Når du har installeret nye elementer, bliver den tjenesteprincipal, der er logget på, ejer alle udrullede sideinddelte rapporter og semantiske modeller. I sådanne tilfælde kan en opdatering ikke fuldføres.

  • Udrulning af dataflow ved hjælp af en tjenesteprincipal understøttes ikke.

  • Det maksimale antal elementer, der kan installeres i en enkelt installation, er 300.

  • API'erne til udrulningspipelines understøtter i øjeblikket kun Power BI-elementer.

  • Oprettelse af en brugerdefineret pipeline med 2-10 faser understøttes i øjeblikket kun via brugergrænsefladen.