Utvikle med REST-API-er for Rapportserver for Power BI

Rapportserveren for Power BI støtter REST-API-er. REST-API-ene er tjenesteendepunkter som støtter et sett med HTTP-operasjoner (metoder), som gir, oppretter, henter, oppdaterer eller sletter tilgang for ressurser i en rapportserver.

REST-API-en gir programmatisk tilgang til objektene i en katalog for Rapportserver for Power BI. Eksempler på objekter er mapper, rapporter, KPI-er, datakilder, datasett, oppdateringsplaner, abonnementer og mer. Når du bruker REST-API-en kan du for eksempel navigere i hierarkiet, se innholdet i en mappe eller laste ned en rapportdefinisjon. Du kan også opprette, oppdatere og slette objekter. Eksempler på å arbeide med objekter er opplasting av rapport, kjøring av oppdateringsplan, sletting av mappe og så videre.

Obs!

Hvis du er interessert i å vise eller slette personlige data, kan du se Microsofts veiledning på området Windows Data-emneforespørsler om GDPR. Hvis du ser etter mer generell informasjon om GDPR, kan du se Delen om GDPR i Service Trust Portal.

Komponenter i forespørsel/svar for en REST-API

Et forespørsel/svar-par for en REST-API kan deles inn i fem komponenter:

  • Forespørsels-URI-en, som består av: {URI-scheme} :// {URI-host} / {resource-path} ? {query-string}. Selv om forespørsel-URI-en er inkludert i meldingshodet for forespørselen, kaller vi den separat her fordi de fleste språk eller rammeverk krever at du sender den separat fra forespørselsmeldingen.

    • URI-skjemaet: angir protokollen som brukes til å sende forespørselen. For eksempel http eller https.
    • URI-vert: angir domenenavnet eller IP-adressen som er vert for REST-tjenesteendepunktet, for eksempel myserver.contoso.com.
    • Ressursbane: Spesifiserer ressursen eller ressurssamlingen, som kan inneholde flere segmenter som brukes av tjenesten til å bestemme utvalget av disse ressursene. For eksempel: CatalogItems(01234567-89ab-cdef-0123-456789abcdef)/Properties kan brukes til å få de angitte egenskapene for CatalogItem.
    • Spørrestreng (valgfri): gir enkle tilleggsparametere, for eksempel API-versjonen eller kriterier for ressursvalg.
  • HTTP-hodefelt for forespørselsmelding:

    • En nødvendig HTTP-metode (også kjent som en operasjon eller verb), som forteller tjenesten hva slags type operasjon du ber om. Reporting Services REST-API-er støtter metodene SLETT, HENT, HODE, SETT, POST og OPPDATER.
    • Valgfrie ekstra hodefelt, som er nødvendige for den angitte URI- og HTTP-metoden.
  • Valgfrie HTTP-forespørselsmeldingstekst-felt, som støtter URI- og HTTP-operasjonen. POST-operasjoner inneholder for eksempel MIME-kodede objekter som sendes som komplekse parametere. MIME-kodingstypen for meldingsteksten bør også angis i Content-type -forespørselshodet for POST- eller SETT-operasjoner. Enkelte tjenester krever at du bruker en bestemt MIME-type, for eksempel application/json.

  • HTTP-svarmeldingshode-felt:

    • En HTTP-statuskode, som varierer mellom 2xx-resultatkoder til 4xx eller 5 xx-feilkoder. Det kan også hende at en tjenestedefinert statuskode returneres, slik den er angitt i API-dokumentasjonen.
    • Valgfrie ekstra hodefelt, som er nødvendig for å støtte forespørselens svar, for eksempel et Content-type svarhode.
  • Valgfritt HTTP-svarmeldingstekst-felt:

    • MIME-kodede svarobjekter returneres til HTTP-svarteksten, for eksempel et svar fra en GET-metode som returnerer data. Vanligvis returneres disse objektene i et strukturert format, for eksempel JSON eller XML, slik de er angitt i Content-type svarhodet.

API-dokumentasjon

En moderne REST-API krever moderne API-dokumentasjon. REST-API-en er bygd på OpenAPI-spesifikasjonen ( swagger-spesifikasjonen), og dokumentasjonen er tilgjengelig på SwaggerHub. Utover å dokumentere API-en, hjelper SwaggerHub med å generere et klientbibliotek på et valgt språk – JavaScript, TypeScript, C#, Java, Python, Ruby og mer.

Testing av API-kalling

Et verktøy for testing av HTTP-forespørsel/svar-meldinger er Fiddler. Fiddler er en gratis nettproxy for feilsøking som avskjærer REST-forespørsler, og gjør det enkelt å diagnostisere HTTP-forespørsel/-svarmeldinger.

Neste trinn

Se gjennom de tilgjengelige API-ene på SwaggerHub.

Eksempler er tilgjengelige på GitHub. Eksempelet inneholder en HTML5-app som er bygd på TypeScript, React og nettpakke sammen med et PowerShell-eksempel.

Har du flere spørsmål? Prøv å spørre Power BI-fellesskapet