Hvad er Power BI Desktop Bridge? (Prøveversion)

Med Power BI Desktop Bridge kan eksterne programmer og agenter interagere direkte med en kørende forekomst af Power BI Desktop på den lokale computer.

Bemærkning

Desktop Bridge er i øjeblikket en prøveversion. Funktioner, funktionsmåde og API-overfladen kan ændres, før den er offentlig tilgængelig.

I denne artikel lærer du:

  • Hvilke forudsætninger du har brug for, før du bruger broen
  • Hvad broen er, og hvordan den kommunikerer med Power BI Desktop
  • Sådan kommer du hurtigt i gang med kommandolinjegrænsefladen Power BI Desktop Bridge
  • Sådan finder du tilgængelige API-metoder ved at kalde bridge.manifest
  • Tilgængelige metoder, og hvad de gør
  • Sådan bruger rapportens oprettelsesfærdigheder broen

Forudsætninger

Før du bruger IPC Bridge, skal du sørge for at opfylde følgende krav:

  • Power BI Desktop er installeret på din Windows computer.

  • Prøveversionsfunktionen "Aktivér adgang til eksterne værktøjer til Power BI Desktop via sikre lokale API'er" er aktiveret. Det er som standard slået til. Sådan kontrollerer eller ændrer du den:

    1. Åbn Power BI Desktop.
    2. Gå til Filindstillinger>og Indstillinger>.
    3. Vælg forhåndsvisningsfunktioner.
    4. Tjek Aktiver ekstern værktøjsadgang til Power BI Desktop via sikre lokale API'er.

    Skærmbillede, der viser Aktivér adgang til eksterne værktøjer til Power BI Desktop via sikre lokale API'er.

Hvad er Power BI Desktop Bridge?

Power BI Desktop Bridge gør det muligt for eksterne værktøjer at kommunikere med en kørende forekomst af Power BI Desktop via de API'er, der vises. Ved hjælp af broen kan agenter og eksterne værktøjer interagere direkte med Power BI Desktop for at genindlæse ændringer uden at genstarte appen, tage skærmbilleder til validering og meget mere.

Et godt eksempel på, hvordan du udnytter broen, er færdigheden til oprettelse af rapporter, som bruger broen til at læse rapportdefinitioner, anvende ændringer og bekræfte resultater i en iterativ redigerings- og bekræftelsesarbejdsproces.

Tekniske detaljer

Broen er en lokal server, der kører i Power BI Desktop-processen. Den bruger IPC (Interprocess Communication) via en navngiven pipe med formatet:

pbi-desktop-bridge-{processId}

Nøglefakta

Faktum Detaljeret
Transport Navngivet pipe (kun lokal)
Protokol JSON-RPC 2.0
Indramning Indholdslængdeheader + brødtekst
Fjernadgang Ikke understøttet
Flere vinduer Hvert åbne Desktop-vindue har sin egen uafhængige pipe
samtidighed Flere klienter kan oprette forbindelse, men der køres kun én handling ad gangen.
Hvis du sender en anmodning, mens en anden handling kører, får du vist en fejl. Vent, indtil den aktuelle handling afsluttes først.

Brug desktopbroen med kommandolinjegrænsefladen Power BI Desktop Bridge

Den nemmeste måde at starte på er ved at bruge kommandolinjegrænsefladen Power BI Desktop Bridge. Det giver dig mulighed for at udnytte broen på en enkel og praktisk måde uden først at bygge brugerdefinerede integrationer. Den er bygget oven på broen og indeholder et sæt intuitive kommandoer, der er klar til brug.

Følgende kommandoer er tilgængelige fra powerbi-desktop help:

Kommando Beskrivelse
status [options]  Viser desktopbroforekomster, aktuelle filstier, tilstand for ikke-gemt ændring og PBIR-sider.
manifest [options]  Viser Desktop Bridge-manifestet for en kørende Power BI Desktop-proces.
open [options] <report>  Åbner en PBIP/PBIX-fil i Power BI Desktop og venter derefter på brostatus.
reload [options]  Genindlæser den aktuelle PBIR-fil i Power BI Desktop.
screenshot [options] <page-id>  Henter én rapportside som en PNG.
screenshot-all [options]  Registrerer alle de sider, der er angivet i PBIR pages.json.
help [command]  Viser hjælp til en kommando.

Få mere at vide: CLI Power BI Desktop Bridge

Tilgængelige metoder til skrivebordsbro

De tilgængelige metoder er: bridge.manifest, application.state.get/v1, report.snapshot.capture/v1og file.reload/v1.

bridge.manifest

Returnerer metodemanifestet for den aktuelle Power BI Desktop-version.

  • Brug den til at:

  • Find ud af, hvilke metoder der understøttes i øjeblikket.

  • Hent beskrivelsen af hver metode.

  • Læs input-/outputskemaet (params og result) for hver metode, før du kalder den.

    • Fordele:
  • Forhindrer kald af ikke-understøttede metoder.

  • Hjælper med at undgå -32601 MethodNotFound fejl.

Returnerer:

En methods matrix, der indeholder metodedefinitioner, f.eks.:

  • name
  • description
  • params Skema
  • result Skema

application.state.get/v1

Returnerer den aktuelle programtilstand, herunder status for åben fil.

Det bruges til:

  • Kontrollér, hvilken fil der er åben i øjeblikket.
    • Registrer ændringer, der ikke er gemt, før du kører handlinger, der kan overskrive eller genindlæse indhold.
  • Fungerer som en kontrol af filstatus før automatiseringstrin.

Returnerer:

Felt Type Beskrivelse
currentFilePath streng eller null Fuld sti til den åbne fil. Tom, hvis ingen.
hasUnsavedChanges boolesk Angiver, om filen indeholder ændringer, der ikke er gemt.

Bemærkning

Denne metode fokuserer i øjeblikket på filstatus og kan vise flere tilstandsoplysninger i fremtidige versioner.

report.snapshot.capture/v1

Henter et PNG-skærmbillede af en rapportside.

Det bruges til:

  • Visuel validering af rapportændringer.
  • Feedbackløkker, hvor en agent skal se den aktuelle rapporttilstand.
  • Hurtig inspektion af den gengivne side.

Parametre:

Felt Type Obligatorisk Beskrivelse
pageId streng Ja Internt side-id fra PBIR.
scale  tal eller null .\Test-DesktopBridge.ps1 -Silent Skalafaktor (1.0-3.0). Er som standard 1,0.

Returnerer:

Felt Beskrivelse
payload Base64-kodede billeddata.
mimeType For eksempel image/png.
encoding For eksempel Base64.
pageId Id'et for den hentede side.
pageDisplayName Sidenavn, der kan læses af mennesker.

Bemærkning

Dette er i praksis en handling til at tage et skærmbillede for en bestemt rapportside.

file.reload/v1

Genindlæser den aktuelt åbne PBIP/PBIR-fil fra disken. Nyttig, når du har redigeret rapportfilerne manuelt.

Det bruges til:

  • Opdater Desktop-tilstand efter ændringer på disken.
  • Kontrollér, om modeldefinitionen også skal anvendes igen.

Parametre:

Felt Type Obligatorisk Beskrivelse
reloadModelDefinition boolesk eller null Ja Om modeldefinitionen skal anvendes igen. Som standard er det true.

Returnerer:

Felt Beskrivelse
success true når genindlæsningen er fuldført.

Funktionsnote:

  • reloadModelDefinition = true (standard): genindlæser definitionen af en rapport plus semantisk model.
  • reloadModelDefinition = false: genindlæser rapporten uden at anvende modeldefinitionen igen.