Delen via


Uw implementatiepijplijn voor Power BI-items automatiseren met behulp van API's

Met het hulpprogramma implementatiepijplijnen van Microsoft Power BI kunnen business intelligence-teams een efficiënt en herbruikbaar releaseproces bouwen voor hun Power BI-inhoud.

Notitie

De API's voor implementatiepijplijnen die hier worden vermeld, zijn alleen van toepassing op Power BI-items. Zie de Fabric-API-documentatie voor Fabric-API's.

Voor continue integratie en continue levering (CI/CD) van inhoud gebruiken veel organisaties automatiseringshulpprogramma's, waaronder Azure DevOps. Organisaties die Gebruikmaken van Azure DevOps, kunnen gebruikmaken van de extensie voor Hulpprogramma's voor Power BI-automatisering, die ondersteuning biedt voor veel API-bewerkingen voor implementatiepijplijnen.

U kunt de Implementatiepijplijnen power BI REST API's gebruiken om Fabric te integreren in het automatiseringsproces van uw organisatie. Hier volgen enkele voorbeelden van wat u kunt doen met behulp van de API's:

  • Beheer pijplijnen van begin tot eind, waaronder het maken van een pijplijn, het toewijzen van een werkruimte aan een fase en het implementeren en verwijderen van de pijplijn.

  • Gebruikers toewijzen aan en intrekken uit een pijplijn.

  • Integreer Fabric in bekende DevOps-hulpprogramma's, zoals Azure DevOps of GitHub Actions.

  • Plan pijplijnimplementaties automatisch op een bepaald tijdstip.

  • Implementeer meerdere pijplijnen tegelijk.

  • Trapsgewijs afhankelijk van pijplijnimplementaties. Als u inhoud tussen pijplijnen hebt verbonden, kunt u ervoor zorgen dat sommige pijplijnen worden geïmplementeerd voordat anderen.

API-functies voor implementatiepijplijnen

Met de Power BI REST API's voor implementatiepijplijnen kunt u de volgende functies uitvoeren:

  • Pijplijngegevens ophalen: informatie over uw pijplijnen en hun inhoud ophalen. Door de pijplijngegevens op te halen, kunt u de API-aanroepen voor de implementatie dynamisch bouwen. U kunt ook de status van een implementatie of de implementatiegeschiedenis controleren.

  • Implementeren : met de REST-aanroepen kunnen ontwikkelaars elk type implementatie gebruiken dat beschikbaar is in de Fabric-service.

  • Pijplijnen maken en verwijderen: gebruik pijplijn maken en pijplijn verwijderen om deze bewerkingen uit te voeren.

  • Werkruimten beheren: met Werkruimte toewijzen en werkruimte intrekken, kunt u werkruimten toewijzen en intrekken voor specifieke pijplijnfasen.

  • Met pijplijngebruikers - pijplijngebruikers verwijderen kunt u een gebruiker uit een pijplijn verwijderen. Met de gebruiker van de pijplijn bijwerken kunt u een gebruiker toevoegen aan uw pijplijn.

Welke implementatietypen worden door de API's ondersteund?

De API's ondersteunen de volgende implementatietypen:

  • Alles implementeren: één API-aanroep waarmee alle inhoud in de werkruimte wordt geïmplementeerd in de volgende fase in de pijplijn. Gebruik voor deze bewerking de API Alle implementeren.

  • Selectief implementeren : implementeert alleen specifieke items, zoals rapporten of dashboards, in de pijplijn. Voor deze bewerking gebruikt u de API voor selectief implementeren .

  • Achterwaartse implementatie : nieuwe items implementeren in de vorige fase. Achterwaartse implementatie werkt alleen als de items die zijn geïmplementeerd nog niet bestaan in de doelfase. Gebruik voor deze bewerking de API's Alle implementeren of Selectief implementeren, met isBackwardDeployment de optie Ingesteld op True.

  • App bijwerken: als onderdeel van de api-aanroep voor implementatie kunt u de inhoud van de app bijwerken die betrekking heeft op die fase. Bijgewerkte items zijn automatisch beschikbaar voor uw eindgebruikers, nadat een implementatie is voltooid. Voor deze bewerking gebruikt u de API's voor het implementeren van alle of selectief implementeren met PipelineUpdateApp Instellingen.

Voordat u begint

Voordat u de API's voor implementatiepijplijnen gebruikt, moet u het volgende hebben:

Uw pijplijn integreren met Azure DevOps

Gebruik een van de volgende methoden om de implementatieprocessen vanuit uw release-pijplijn in Azure DevOps te automatiseren:

  • PowerShell : het script meldt zich aan bij Fabric met behulp van een service-principal of een gebruiker.

  • Hulpprogramma's voor Power BI-automatisering: deze extensie werkt met een service-principal of een gebruiker.

U kunt ook andere Rest API-aanroepen van Power BI gebruiken om gerelateerde bewerkingen te voltooien, zoals het importeren van een PBIX in de pijplijn, het bijwerken van gegevensbronnen en parameters.

De power BI Automation Tools-extensie gebruiken

De extensie hulpprogramma's voor Power BI Automation is een open source Azure DevOps-extensie die een reeks implementatiepijplijnen biedt die kunnen worden uitgevoerd in Azure DevOps. De extensie elimineert de noodzaak voor API's of scripts voor het beheren van pijplijnen. Elke bewerking kan afzonderlijk worden gebruikt om een taak uit te voeren, zoals het maken van een pijplijn. Bewerkingen kunnen samen worden gebruikt in een Azure DevOps-pijplijn om een complexer scenario te maken, zoals het maken van een pijplijn, het toewijzen van een werkruimte aan de pijplijn, het toevoegen van gebruikers en het implementeren.

Nadat u de power BI Automation Tools-extensie aan DevOps hebt toegevoegd, moet u een serviceverbinding maken. De volgende verbindingen zijn beschikbaar:

  • Service-principal (aanbevolen): deze verbinding wordt geverifieerd met behulp van een service-principal en vereist het geheim en de toepassings-id van de Microsoft Entra-app. Wanneer u deze optie gebruikt, controleert u of de servicebeheerdersinstellingen voor de service-principal zijn ingeschakeld.

  • Gebruikersnaam en wachtwoord : geconfigureerd als een algemene serviceverbinding met een gebruikersnaam en een wachtwoord. Deze verbindingsmethode biedt geen ondersteuning voor meervoudige verificatie. U wordt aangeraden de verbindingsmethode voor de service-principal te gebruiken, omdat hiervoor geen gebruikersreferenties hoeven te worden opgeslagen in Azure DevOps.

Notitie

De power BI Automation Tools-extensie maakt gebruik van een Azure DevOps-serviceverbinding om referenties op te slaan. Zie Hoe we uw referenties opslaan voor Azure DevOps Services voor meer informatie.

Nadat u een serviceverbinding voor uw Azure DevOps Power BI-automatiseringsprogramma's hebt ingeschakeld, kunt u pijplijntaken maken. De extensie bevat de volgende implementatiepijplijnen:

  • Een nieuwe pipeline maken

  • Een werkruimte toewijzen aan een pijplijnfase

  • Een gebruiker toevoegen aan een implementatiepijplijn

  • Een gebruiker toevoegen aan een werkruimte

  • Inhoud implementeren in een implementatiepijplijn

  • Een werkruimte verwijderen uit een implementatiepijplijn

  • Een pijplijn verwijderen

Toegang tot de PowerShell-voorbeelden

U kunt de volgende PowerShell-scripts gebruiken om te begrijpen hoe u verschillende automatiseringsprocessen uitvoert. Als u de tekst in een PowerShell-voorbeeld wilt weergeven of kopiëren, gebruikt u de koppelingen in deze sectie.

U kunt ook de hele GitHub-map PowerBI-Developer-Samples downloaden.

PowerShell-voorbeeld

In deze sectie wordt een voorbeeld van een PowerShell-script beschreven waarmee een semantisch model, rapport en dashboard wordt geïmplementeerd, van de ontwikkelingsfase naar de testfase. Het script controleert vervolgens of de implementatie is geslaagd.

Als u een PowerShell-script wilt uitvoeren dat een implementatie uitvoert, hebt u de volgende onderdelen nodig. U kunt een van deze onderdelen toevoegen aan taken in uw Azure-pijplijnfasen.

  1. Aanmelden: voordat u uw inhoud kunt implementeren, moet u zich aanmelden bij Fabric met behulp van een service-principal of een gebruiker. Gebruik de opdracht Verbinding maken-PowerBIServiceAccount om u aan te melden.

  2. Bouw de hoofdtekst van uw aanvraag. In dit deel van het script geeft u op welke items (zoals rapporten en dashboards) u implementeert.

    $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. Implementeren : hier voert u de implementatie uit.

    $url = "pipelines/{0}/Deploy" -f "Insert you pipeline ID here"
    $deployResult = Invoke-PowerBIRestMethod -Url $url  -Method Post -Body $body | ConvertFrom-Json
    
  4. (Optioneel) Melding over voltooiing van de implementatie: omdat de implementatie-API asynchroon is, kunt u het script programmeren om u op de hoogte te stellen wanneer de implementatie is voltooid.

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

Overwegingen en beperkingen

  • Implementatie met behulp van API's is onderhevig aan dezelfde beperkingen als de gebruikersinterface van de implementatiepijplijnen.

  • Een service-principal kan geen OAuth-referenties configureren. Nadat u nieuwe items hebt geïmplementeerd, wordt de aangemelde service-principal de eigenaar van geïmplementeerde gepagineerde rapporten en semantische modellen. In dergelijke gevallen kan een vernieuwing niet worden voltooid.

  • Het implementeren van gegevensstromen met behulp van een service-principal wordt niet ondersteund.

  • Het maximum aantal items dat in één implementatie kan worden geïmplementeerd, is 300.

  • De API's voor implementatiepijplijnen ondersteunen momenteel alleen Power BI-items.

  • Het maken van een aangepaste pijplijn van 2-10 fasen wordt momenteel alleen ondersteund via de gebruikersinterface.