Automatiser utrullingssamlebåndet ved hjelp av API-er og Azure DevOps

Datasamlebåndverktøyet for Distribusjon av Microsoft Fabric gjør det mulig for forretningsanalyseteam å bygge en effektiv og gjenbrukbar utgivelsesprosess for fabric-innholdet.

For å oppnå kontinuerlig integrering og kontinuerlig levering (CI/CD) av innhold, bruker mange organisasjoner automatiseringsverktøy, inkludert Azure DevOps. Organisasjoner som bruker Azure DevOps, kan bruke utvidelsen for Power BI-automatiseringsverktøy , som støtter mange av API-operasjonene for utrullingssamlebånd.

Du kan bruke power bi REST-API-er for distribusjonssamlebånd til å integrere Fabric i organisasjonens automatiseringsprosess. Her er noen eksempler på hva som kan gjøres ved hjelp av API-ene:

  • Administrer datasamlebånd fra start til slutt, inkludert oppretting av et datasamlebånd, tilordne et arbeidsområde til et hvilket som helst stadium, og distribuer og slett datasamlebåndet.

  • Tilordne og oppheve tilordning av brukere til og fra et datasamlebånd.

  • Integrer Stoff i kjente DevOps-verktøy, for eksempel Azure DevOps eller GitHub Actions.

  • Planlegg at utrulling av datasamlebånd skal skje automatisk på et bestemt tidspunkt.

  • Distribuer flere datasamlebånd samtidig.

  • Gjennomgripende avhengig av utrullinger av datasamlebånd. Hvis du har innhold som er koblet til på tvers av datasamlebånd, kan du sørge for at noen datasamlebånd distribueres før andre.

API-funksjoner for utrullingssamlebånd

Merk

API-ene for utrullingssamlebånd fungerer for øyeblikket bare for Power BI-elementer.

Power BI REST-API-er for distribusjonssamlebånd lar deg utføre følgende funksjoner:

  • Få informasjon om datasamlebånd – Hent informasjon om datasamlebånd og innholdet. Ved å hente informasjon om datasamlebåndet kan du dynamisk bygge distribusjons-API-kall. Du kan også kontrollere statusen for en distribusjon eller distribusjonsloggen.

  • Distribuer – REST-anrop gjør det mulig for utviklere å bruke alle typer distribusjon som er tilgjengelige i Fabric-tjenesten.

  • Opprett og slett datasamlebånd – Bruk Opprett datasamlebånd og Slett datasamlebånd til å utføre disse operasjonene.

  • Administrer arbeidsområder – Med Tilordne arbeidsområde og Ikke tilordne arbeidsområde kan du tilordne og oppheve tilordning av arbeidsområder til bestemte datasamlebåndfaser.

  • Administrer datasamlebåndbrukere - Slett datasamlebåndbrukere lar deg fjerne en bruker fra et datasamlebånd. Med oppdatering av datasamlebåndbruker kan du legge til en bruker i datasamlebåndet.

Hvilke distribusjoner støttes av API-ene?

API-ene støtter følgende distribusjonstyper:

  • Distribuer alle – ett enkelt API-kall som distribuerer alt innholdet i arbeidsområdet til neste fase i datasamlebåndet. Bruk Distribuer alle API-ene for denne operasjonen.

  • Selektiv distribusjon – distribuerer bare bestemte elementer, for eksempel rapporter eller instrumentbord, i datasamlebåndet. Bruk selektiv distribuerings-API for denne operasjonen.

  • Bakoverdistribusjon – Distribuerer nye elementer til forrige fase. Bakoverdistribusjon fungerer bare hvis elementene som er distribuert, ikke allerede finnes i målfasen. For denne operasjonen bruker du enten Distribuer alle eller selektive distribuerings-API-er , med isBackwardDeployment angitt til True.

  • Oppdater app – Som en del av distribusjons-API-kallet kan du oppdatere innholdet i appen som er relatert til dette stadiet. Oppdaterte elementer er automatisk tilgjengelige for sluttbrukerne etter at en distribusjon er fullført. For denne operasjonen bruker du enten Distribuer alle eller selektive distribuerings-API-er, med PipelineUpdateApp Innstillinger.

Før du starter

Før du bruker API-ene for utrullingssamlebånd, må du kontrollere at du har følgende:

  • Tjenestekontohaveren, eller brukeren som kaller API-ene, trenger tillatelser for datasamlebånd og arbeidsområde og tilgang til et Microsoft Entra-program.

  • Hvis du skal bruke PowerShell-skript, installerer du Power BI PowerShell cmdlets Install-Module MicrosoftPowerBIMgmt.

Integrere datasamlebåndet med Azure DevOps

Hvis du vil automatisere distribusjonsprosessene fra utgivelsesforløpet i Azure DevOps, kan du bruke én av disse metodene:

  • PowerShell – Skriptet logger seg på Fabric ved hjelp av en tjenestekontohaver eller en bruker.

  • Automasjonsverktøy for Power BI – Denne utvidelsen fungerer med en tjenestekontohaver eller en bruker.

Du kan også bruke andre REST-API-kall for Power BI til å fullføre relaterte operasjoner som å importere en PBIX-fil til datasamlebåndet, oppdatere datakilder og parametere.

Bruk utvidelsen for Power BI-automatiseringsverktøy

Utvidelsen for automatiseringsverktøy for Power BI er en åpen kilde Azure DevOps-utvidelse som gir en rekke utrullingssamlebåndoperasjoner som kan utføres i Azure DevOps. Utvidelsen eliminerer behovet for API-er eller skript for å administrere datasamlebånd. Hver operasjon kan brukes individuelt til å utføre en oppgave, for eksempel opprette et datasamlebånd. Operasjoner kan brukes sammen i et Azure DevOps-datasamlebånd for å skape et mer komplekst scenario, for eksempel opprette et datasamlebånd, tilordne et arbeidsområde til datasamlebåndet, legge til brukere og distribuere.

Når du har lagt til utvidelsen for Power BI-automatiseringsverktøy i DevOps, må du opprette en tjenestetilkobling. Følgende tilkoblinger er tilgjengelige:

  • Tjenestekontohaver (anbefales) – denne tilkoblingen godkjennes ved hjelp av en tjenestekontohaver og krever Microsoft Entra-appens hemmelige og program-ID. Når du bruker dette alternativet, må du kontrollere at tjenesteadministratorinnstillingene for tjenestekontohaveren er aktivert.

  • Brukernavn og passord – konfigurert som en generisk tjenestetilkobling med brukernavn og passord. Denne tilkoblingsmetoden støtter ikke godkjenning med flere faktorer. Vi anbefaler at du bruker tilkoblingsmetoden tjenestekontohaver fordi den ikke krever lagring av brukerlegitimasjon på Azure DevOps.

Merk

Utvidelsen for automatiseringsverktøy i Power BI bruker en Azure DevOps-tjenestetilkobling til å lagre legitimasjon. Hvis du vil ha mer informasjon, kan du se Hvordan vi lagrer legitimasjonen din for Azure DevOps Services.

Når du har aktivert en tjenestetilkobling for Azure DevOps Power BI-automatiseringsverktøyene, kan du opprette datasamlebåndoppgaver. Utvidelsen inkluderer følgende datasamlebåndoppgaver for distribusjon:

  • Opprett en ny pipeline

  • Tilordne et arbeidsområde til en datasamlebåndfase

  • Legge til en bruker i et utrullingssamlebånd

  • Legge til en bruker i et arbeidsområde

  • Distribuer innhold til et utrullingssamlebånd

  • Fjerne et arbeidsområde fra et utrullingssamlebånd

  • Slette et datasamlebånd

Få tilgang til PowerShell-eksemplene

Du kan bruke følgende PowerShell-skript til å forstå hvordan du utfører flere automatiseringsprosesser. Hvis du vil vise eller kopiere teksten i et PowerShell-eksempel, bruker du koblingene i denne inndelingen.

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

Eksempel på PowerShell

Denne delen beskriver et eksempel på PowerShell-skript som distribuerer en semantisk modell, rapport og instrumentbord, fra utviklingsfasen til testfasen. Skriptet kontrollerer deretter om distribusjonen var vellykket.

Hvis du vil kjøre et PowerShell-skript som utfører en distribusjon, trenger du følgende komponenter. Du kan legge til noen av disse delene i oppgaver i Azure-datasamlebåndet.

  1. Logg på – Før du kan distribuere innholdet, må du logge på Fabric ved hjelp av en tjenestekontohaver eller en bruker. Bruk kommandoen Koble til-PowerBIServiceAccount til å logge på.

  2. Bygg forespørselsteksten – I denne delen av skriptet angir du hvilke elementer (for eksempel rapporter og instrumentbord) du distribuerer.

    $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. Distribuer – Her utfører du distribusjonen.

    $url = "pipelines/{0}/Deploy" -f "Insert you pipeline ID here"
    $deployResult = Invoke-PowerBIRestMethod -Url $url  -Method Post -Body $body | ConvertFrom-Json
    
  4. (Valgfritt) Varsel om fullføring av distribusjon – fordi distribusjons-API-en er asynkron, kan du programmere skriptet til å varsle deg når distribusjonen er fullfø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
    }
    

Hensyn og begrensninger

  • Distribusjon ved hjelp av API-er er underlagt de samme begrensningene som brukergrensesnittet for utrullingssamlebånd.

  • En tjenestekontohaver kan ikke konfigurere OAuth-legitimasjon . Når du distribuerer nye elementer, blir den påloggede tjenestekontohaveren eieren av eventuelle distribuerte paginerte rapporter og semantiske modeller. I slike tilfeller kan ikke en oppdatering fullføres.

  • Distribusjon av dataflyter ved hjelp av en tjenestekontohaver støttes ikke.

  • Maksimalt antall elementer som kan distribueres i én enkelt distribusjon, er 300.

  • API-er for utrullingssamlebånd støtter for øyeblikket bare Power BI-elementer.

  • Oppretting av et tilpasset datasamlebånd med 2-10 faser støttes for øyeblikket bare gjennom brukergrensesnittet.